如何在php中使用array()删除标签<span style =“”>?</span>

时间:2014-08-25 04:34:22

标签: php html arrays

我想使用array()删除标记。

这是我的代码:

$string = '<span style="font-family: 'Angsana New', serif;">Hello</span>';
$search = array('/<span (.*?)\>(.*?)\<\/span\>/');
$replace = array('\\2');
echo preg_replace($search, $replace, $string);

此代码不是错误。但它不是删除标签。

2 个答案:

答案 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函数:

PHP BBCODE_PARSER

PHP BBCODE_CREATE

答案 1 :(得分:0)

在我的系统上运行正常。我可以告诉你的问题是你的font-family有单引号使得Angsana New出现语法错误。试试这个:

$string = '<span style="font-family: \'Angsana New\', serif;">Hello</span>';