我正在寻找一种方法来剥离<
和>
以及PHP之间的所有内容。并将其保存为变量。
示例:
从这个:
<p>This is a paragraph with <strong>bold</strong> text</p>
对此: This is a paragraph with bold text
任何人都有一个例子或想法?谢谢!
答案 0 :(得分:4)
如果您没有嵌套>
和<
,那么您可以尝试以下方法来匹配事件:
$matches = array();
preg_match_all('/<([\s\S]*?)>/s', $string, $matches);
尝试你的here。请注意查询中的?
,它使括号中的匹配不合适。
您可以找到类似问题的答案here on SO。
如果要删除值,请使用preg_replace_callback
:
<?php
$string = '<p>This is a paragraph with <strong>bold</strong> text<p>';
echo "$string <br />";
$string = preg_replace_callback(
'/<([\s\S]*?)>/s',
function ($matches) {
// do whatever you need with $matches here, e.g. save it somewhere
return '';
},
$string
);
echo $string;
?>
答案 1 :(得分:0)
&lt;编码是html编码。要处理这个问题,你需要html_entity_decode()来解码或者htmlentities()来编码。
答案 2 :(得分:-1)
这样的事情:
$matches = array();
// Save
preg_match_all('!(<[^>]++>)!', $string, $matches);
// Strip
$string = strip_tags($string);
或者将<
替换为<
,将>
替换为>
,如果这不是拼写错误,并且您希望对已转义的字符串进行操作并使用preg_replace('/(<.+?>)/', '', $string)
剥离标签。