<html>
<body>
<form name='form' method='post' action="">
Dork: <input type="text" name="dork" id="dork" >
<input type="submit" name="submit" value="Submit">
</form>
</body>
</html>
<?php
$ptn = "/(?:[a-z]{4,5}://[a-z.0-9]*\/)?([a-z.\?_=]*)([0-9]*)/"; // Regex
$str = $_POST['dork']; //Your input, perhaps $_POST['textbox'] or whatever
$rpltxt = "$1"; // Replacement string
echo preg_replace($ptn, $rpltxt, $str);
?>
我收到了这个错误
Warning: preg_replace(): Unknown modifier '/'
如何解决这个问题 http://prntscr.com/ex29j2
答案 0 :(得分:0)
您在模式中间使用未转义的斜杠://
第一个斜杠定义模式结束,第二个斜杠因此被解释为修饰符。
逃避两者:
/(?:[a-z]{4,5}:\/\/[a-z.0-9]*\/)?([a-z.\?_=]*)([0-9]*)/
答案 1 :(得分:0)
逃避斜杠:
$ptn = "/(?:[a-z]{4,5}:\/\/[a-z.0-9]*\/)?([a-z.\?_=]*)([0-9]*)/"; // Regex
// here __^ ^
或使用其他分隔符
$ptn = "~(?:[a-z]{4,5}://[a-z.0-9]*/)?([a-z.?_=]*)([0-9]*)~"; // Regex