我的文字字符串已被修改为网页安全网址,即非字母数字转换为“_”。
我想要做的是在转换之前搜索原始名称,这意味着我需要某种外卡搜索,即
我有什么
test__mytest
使用通配符
test??mytest
通过通配符搜索找到的字符串
test: mytest
有人可以告诉我如何在PHP中实现这一点吗? 感谢
答案 0 :(得分:0)
可能找到了解决方案here 如果我让它工作,我会更新。
编辑:这是我的解决方案
$searchstring = "/".str_replace("_","(.?)", escape_string_for_regex($match))."/";
这将替换所有_,并在该位置搜索单个字符。 然后我使用以下行来测试针对测试字符串的$ searchstring。
if (preg_match($searchstring, $matchtitle))
答案 1 :(得分:0)
另一种方法可能是对特殊字符进行编码,而不是将它们转换为下划线。那么你就不需要通配符了,你只需要搜索编码值。
例如测试%3A%20页
这也可以防止您尝试将以下两个转换为页面时遇到的问题:
试验:页
测试!页
他们都会变成test_page,并且空间/时间连续体将处于危险之中。可能不太可能,但仍然不受欢迎。