如何用PHP搜索多LPE字符串中的HTML标记?

如何用PHP搜索多LPE字符串中的HTML标记?,php,arrays,loops,string-search,Php,Arrays,Loops,String Search,您可以使用strpos()搜索HTML标记吗?似乎产生了无效的结果。还尝试了转换到htmlentities()——仍然没有成功。如何正确搜索文本装饰,如:粗体、斜体和下划线 示例:() /*要搜索的HTML标记*/ $html\u tags=数组( 'bold'=>数组( '在'=>''之前, '在'=>'之后'' ), “斜体”=>数组( '在'=>''之前, '在'=>''之后' ), '下划线'=>数组( '在'=>''之前, '在'=>''之后' ) ); /*示例字符串*/ $html

您可以使用
strpos()
搜索HTML标记吗?似乎产生了无效的结果。还尝试了转换到
htmlentities()
——仍然没有成功。如何正确搜索文本装饰,如:粗体、斜体和下划线

示例:()

/*要搜索的HTML标记*/
$html\u tags=数组(
'bold'=>数组(
'在'=>''之前,
'在'=>'之后''
),
“斜体”=>数组(
'在'=>''之前,
'在'=>''之后'
),
'下划线'=>数组(
'在'=>''之前,
'在'=>''之后'
)
);
/*示例字符串*/
$html\u test=数组(
'bold_with_html'=>'一些包含html标记的字符串。,
“斜体加上html”=>“一些包含html标记的字符串。”,
“在\u下面加上\u html'=>“一些包含html标记的字符串。”,
'没有html'=>'一些不包含html标记的字符串。'
);
/*检查HTML标记*/
$results=array();
foreach($html\u测试为$key=>$value){
foreach($html\u标记为$decoration=>$html\u标记){
if(stripos($html_标记['before'],$value)!==false和&stripos($html_标记['before'],$value)!==false){
$results[$key][$decoration]=“定位HTML:”.$decoration.!”;
}否则{
$results[$key][$decoration]='未找到HTML';
}
}
}
打印(结果);

为什么要对RegEx执行此操作?你最好的选择是多姆


您对
stripos
的参数顺序搞错了,应该是haystack,然后是needle

if(stripos($value,$html_tag['before']) !== false && strripos($value,$html_tag['after']) !== false){

我认为最好的方法是使用正则表达式来实现这一点。@Hanlet Regex不是解析HTML的最佳选择,它是一个复杂和错误的雷区。使用一个简单的html解析器要好得多。哇,我是个非常业余的人。谢谢。我建议您:如果您必须在php中大量阅读/操作HTML/XML。
if(stripos($value,$html_tag['before']) !== false && strripos($value,$html_tag['after']) !== false){