1

例如:

$str="<name>ABCDE<age>45";

我知道strip_tags函数的使用,它删除了 sring 中的所有标签。但我只想剥离一个特定的标签来获得输出 "ABCDE<age>45";

可能吗?

4

5 回答 5

2

我已经解决了如下任务。感谢您提供所有有用的答案。

$str_arr==preg_split("/<[^>]+>/", $str, 0, PREG_SPLIT_NO_EMPTY);

输出:

$str_arr[0]=ABCDE
$str_arr[1]=45
于 2012-10-17T14:01:28.790 回答
0

您也可以通过strip_tags()它从字符串中剥离 HTML 和 PHP 标记

  // Allow <p> and <a>
      echo strip_tags($str, '<p><a>');

  $str="<name>ABCDE<age>45";

从您的评论 中是否有可能以“ABCDE”的形式出现?,是的,有可能这可以通过substrpreg_match

  echo substr($str,6,8); to get only ABCDE 

或者

你可以这样做preg_match

$pattern = '/^ABCDE/';
preg_match($pattern, $str, $matches, PREG_OFFSET_CAPTURE, 5);
print_r($matches);
于 2012-09-17T07:41:30.483 回答
0

使用:strip_tags()_allowable_tags

$str="<name>ABCDE<age>45";
echo strip_tags($str, '<age>');

键盘示例

于 2012-09-17T07:42:48.410 回答
0

您可以在数组中设置要删除的标签,然后将其删除。例如:

$string = "<name>ABCDE<age>45";
$custom_tags = array('name');
$tags_length = sizeof($custom_tags);
for ($i = 0; $i < $tags_length; $i++) {
    $string = str_replace("<" . $custom_tags[$i] . ">", "", $string);
}
于 2012-09-17T07:42:58.153 回答
0

阅读strip_tags的文档

字符串 strip_tags ( 字符串 $str [, 字符串 $allowable_tags ] )

如果你愿意,你可以允许一些标签:http: //php.net/manual/en/function.strip-tags.php
可选参数[, string $allowable_tags ]可以解决您的问题吗?!

于 2012-09-17T07:44:04.537 回答