通配符PHP文本搜索
我有一个文本字符串,它已被修改为web安全URL,即非字母数字的被转换为“\ux” 我想做的是在转换之前搜索原始名称,这意味着我需要某种通配符搜索,即 我拥有的通配符PHP文本搜索,php,search,text,Php,Search,Text,我有一个文本字符串,它已被修改为web安全URL,即非字母数字的被转换为“\ux” 我想做的是在转换之前搜索原始名称,这意味着我需要某种通配符搜索,即 我拥有的 test__mytest 带有通配符 test??mytest 我将通过通配符搜索找到的字符串 test: mytest 有人能告诉我如何在PHP中实现这一点吗? 谢谢可能已经找到了解决方案 如果我让它工作,我会更新 编辑:这是我的解决方案 $searchstring = "/".str_replace("_","(.?)", e
test__mytest
带有通配符
test??mytest
我将通过通配符搜索找到的字符串
test: mytest
有人能告诉我如何在PHP中实现这一点吗?
谢谢可能已经找到了解决方案 如果我让它工作,我会更新 编辑:这是我的解决方案
$searchstring = "/".str_replace("_","(.?)", escape_string_for_regex($match))."/";
这将用搜索该位置的单个字符来替换所有u。
然后,我使用下面的行对测试字符串测试$searchstring
if (preg_match($searchstring, $matchtitle))
另一种方法是对特殊字符进行编码,而不是将其转换为下划线。这样就不需要通配符,只需搜索编码的值 例如,测试%3A%20页 这还可以防止在尝试将以下两个页面转换为页面时遇到的问题: 测试:第页
测试!页面
它们都会变成测试页面,空间/时间连续体将处于危险之中。可能不太可能,但仍然不受欢迎。不幸的是,我无法控制编码,所以我不得不使用wilcards。感谢您,但是正则表达式的escape字符串应该是
preg\u quote($match,“/”)
。(除非您在自己的函数中使用它)。