[英]How do i form this replacement with regular expression
我需要使用php删除特定的字符串,该字符串需要以<div class='event'>
开头,后跟任何可能的字符串,但其中包含$myVariable
,然后是</div>
。 如何使用preg_replace()
删除所有这些? 我已经解决了可能是这样的
preg_replace("<div class='event'>(.*)" . $myVariable . "(.*)</div>", "", $content);
但是我无法使其正常工作。
更新:
我需要删除一个div
及其中的所有内容,该div包含一个事件名称和日期,但是我只能根据事件名称删除div,因此实际上需要将日期定义为任何字符串。
假设您有一个<div>
并且在其中有一个文本节点,您可以使用$myVariable
定义一个特定的单词。
任务是:
$myVariable
文本的.nodeValue
收集<div>
标签 该算法的代码如下(DOM在演示中使用HTML字符串初始化):
$html = "<<YOUR_HTML_STRING>>"
$dom = new DOMDocument; // Declaring the DOM
$dom->loadHTML($html); // Initializing the DOM with an HTML string
$myVariable = "2015-09-12"; // Your dynamic variable
$xpath = new DOMXPath($dom); // Initializing the DOMXpath
$divs = $xpath->query("//div[contains(.,'$myVariable')]"); // Collecting DIVs
// having $myVariable
foreach($divs as $div) {
$div->parentNode->removeChild($div); // Removing the DIVs
}
echo $dom->saveHTML(); // Getting the updated DOM
请注意,您可以使用以下内容来强制DOMDocument省略添加!DOCTYPE
来声明和初始化DOM:
$dom = new DOMDocument('1.0', 'UTF-8');
$dom->loadHTML($html, LIBXML_HTML_NOIMPLIED | LIBXML_HTML_NODEFDTD);
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.