我有这个文字
<?php
$example1 = '<b class="counter">1</b> This is a computer';
$example2 = '<b class="counter">5</b> i have a laptop';
$example3 = '<b class="counter">1</b> i need a smartphone';
$example4 = 'i need a car'; // does not have <b> tag
?>
我正在寻找一个php函数来删除字符串的一部分,从<b>
开始到</b>
,所以结果应该是这样的:
$example1_result = 'This is a computer';
$example2_result = 'i have a laptop';
$example3_result = 'i need a smartphone';
$example4_result = 'i need a car';
答案 0 :(得分:2)
preg_replace("(<([a-z]+)>.*?</\\1>)is","",$example1);
使用此功能,因为您要删除<b>
标记内的内容strip_tags()
将内容保留在html标记内
答案 1 :(得分:1)
您需要使用strip_tags
http://php.net/manual/en/function.strip-tags.php
它基本上剥离了字符串中的井标记:
<?php
$htmlStr = '<p>Text</p>';
$str = strip_tags($htmlStr);
var_dump($str); //will echo Text
答案 2 :(得分:0)
如果您需要结果,可以使用substr($example, strpos($example, '</b>'))
其中$ example是<b class="counter">1</b> This is a computer
答案 3 :(得分:0)
确保逃离你的&#34;柜台&#34;否则它将无效,但其他人已经使用正则表达式更好的版本回答了你的问题。
<?php
$example1 = "<b class=\"counter\">1</b> This is a computer";
$example2 = "<b class=\"counter\">5</b> i have a laptop";
$example3 = "<b class=\"counter\">1</b> i need a smartphone";
echo strip_tags($example1); //Outputs: 1 This is a computer
$example1 = trim(substr(strstr($example1, '</b>'), strlen('</b>')));
echo $example1; //Outputs: This is a computer