例如:
$str="<name>ABCDE<age>45";
我知道使用strip_tags
函数,它会重新显示sring中的所有标记。但我想只删除一个特定的标签,以获得"ABCDE<age>45";
有可能吗?
答案 0 :(得分:2)
我已经解决了如下任务。感谢您的所有有用答案。
$str_arr==preg_split("/<[^>]+>/", $str, 0, PREG_SPLIT_NO_EMPTY);
输出:
$str_arr[0]=ABCDE
$str_arr[1]=45
答案 1 :(得分:0)
您也可以通过strip_tags()
从字符串中删除HTML和PHP标记
// Allow <p> and <a>
echo strip_tags($str, '<p><a>');
$str="<name>ABCDE<age>45";
来自你的评论是否可以将其作为“ABCDE”投放?,
是的,这可以通过substr
或preg_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);
答案 2 :(得分:0)
将strip_tags()
与allowable_tags
:
$str="<name>ABCDE<age>45";
echo strip_tags($str, '<age>');
答案 3 :(得分: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);
}
答案 4 :(得分:0)
阅读 strip_tags
的文档string strip_tags(string $ str [,string $ allowable_tags] )
如果您愿意,可以允许使用某些标签:http://php.net/manual/en/function.strip-tags.php 可选参数 [,string $ allowable_tags] 可以解决您的问题吗? !