以下是我需要从
中删除<p>
代码的文字
<p> Addiction, stress and subjective wellbeing</p>
<p> The need and significance of traditional shop lot pavements in the context of town conservation in Malaysia</p>
<p> The role of wage and benefit in engaging employee commitment</p>
我试过这个
$title= preg_replace('#<p>(.*?)</p>#', '', $title['result']);**
但仍然会获得<p>
标签,任何想法?
答案 0 :(得分:18)
您必须使用此正则表达式来捕获<p>
标记及其所有内容:
'/<p\b[^>]*>(.*?)<\/p>/i'
用于捕获和删除<p>
标记及其所有内容的工作示例:
$title = "<div>Text to keep<p class='classExample'>Text to remove</p></div>";
$result = preg_replace('/<p\b[^>]*>(.*?)<\/p>/i', '', $title);
echo $result;
如果您想使用正则表达式来解析HTML - 那么您将无法执行此操作。
在此处详细了解您的问题:How do you parse and process HTML/XML in PHP?
答案 1 :(得分:5)
尝试:
如果您只想删除<p>
代码
$html = "
<p> Addiction, stress and subjective wellbeing</p>
<p> The need and significance of traditional shop lot pavements town</p>
<p> The role of wage and benefit in engaging employee commitment</p>
";
echo strip_tags($html);
如果您要删除<p>
代码及其content
$html = preg_replace('#\<p>[{\w},\s\d"]+\</p>#', "", $html);
答案 2 :(得分:3)
echo "<div id=\"main_content\">" . strip_tags($row[main_content]) . "</div>";
答案 3 :(得分:2)
如果您只需要删除所有标记,请使用strip_tags()。
答案 4 :(得分:2)
只是为了删除p标签,你可以这样做
$text=str_ireplace('<p>','',$text);
$text=str_ireplace('</p>','',$text);
答案 5 :(得分:2)
$text = '<p>Test paragraph.</p> <a href="#fragment">Other text</a>';
echo strip_tags($text);
echo "\n";
// Allow p and a tag
echo strip_tags($text, '<p><a>');
答案 6 :(得分:0)
此代码删除了一个p标签:
function parse($html) {
$dom = new DOMDocument();
@$dom->loadHTML($html);
$ps = $dom->getElementsByTagName('p');
//die('<pre>'.print_r($ps,1).'</pre>');
if ($ps->length === 1){
$p = $ps->item(0);
return $p->nodeValue;
} else {
return '';
}
}