我想使用array()删除标记。
这是我的代码:
$string = '<span style="font-family: 'Angsana New', serif;">Hello</span>';
$search = array('/<span (.*?)\>(.*?)\<\/span\>/');
$replace = array('\\2');
echo preg_replace($search, $replace, $string);
此代码不是错误。但它不是删除标签。
答案 0 :(得分:4)
尝试使用此代码删除数组值中的html标记:
您可以使用单个变量删除标记,这意味着您可以 strig_tags() 删除html的示例代码:
<?php
echo strip_tags("Hello <b><i>world!</i></b>","<b>");
?>
并删除数组方法中的html标记:
function stripAllFields(&$fields) {
foreach ($fields as $key => $value) {
if (is_array($fields[$key])) { stripAllFields($fields[$key]); }
else { $fields[$key] = strip_tags($value); }
}
}
您还可以在此删除多维数组值。 并将HTML代码转换为php中的bbcode:
请参阅此网址:
<强> Refer Link 1 强>
<强> Refer Link 2 强>
还有用于BBcode创建和解析器的PHP函数:
答案 1 :(得分:0)
在我的系统上运行正常。我可以告诉你的问题是你的font-family有单引号使得Angsana New出现语法错误。试试这个:
$string = '<span style="font-family: \'Angsana New\', serif;">Hello</span>';