메시지 보드를 만들기 위해 phpBB3을 사용하고 있습니다. 게시물의 모든 URL과 링크를 링크로 사용하는 기능이 내장되어 있습니다. 로컬 링크 만 클릭 할 수 있도록 설정하려고합니다.phpbb와 함께 사용하기위한 로컬 URL 만 일치시키는 정규식
phpbb3 각 경기가 링크로 변경하는 게시물의 텍스트와에 대한 정규식을 사용
if ($somestuff){
// matches a xxxx://aaaaa.bbb.cccc. ...
$magic_url_match[] = '#(^|[\n\t (>.])(' . "[a-z]$scheme*:/{2}(?:(?:[a-z0-9\-._~!$&'($inline*+,;=:@|]+|%[\dA-F]{2})+|[0-9.]+|\[[a-z0-9.]+:[a-z0-9.]+:[a-z0-9.:]+\])(?::\d*)?(?:/(?:[a-z0-9\-._~!$&'($inline*+,;=:@|]+|%[\dA-F]{2})*)*(?:\?(?:[a-z0-9\-._~!$&'($inline*+,;=:@/?|]+|%[\dA-F]{2})*)?(?:\#(?:[a-z0-9\-._~!$&'($inline*+,;=:@/?|]+|%[\dA-F]{2})*)?" . ')#ie';
$magic_url_replace[] = "make_clickable_callback(MAGIC_URL_FULL, '\$1', '\$2', '', '$class')";
// matches a "www.xxxx.yyyy[/zzzz]" kinda lazy URL thing
$magic_url_match[] = '#(^|[\n\t (>])(' . "www\.(?:[a-z0-9\-._~!$&'($inline*+,;=:@|]+|%[\dA-F]{2})+(?::\d*)?(?:/(?:[a-z0-9\-._~!$&'($inline*+,;=:@|]+|%[\dA-F]{2})*)*(?:\?(?:[a-z0-9\-._~!$&'($inline*+,;=:@/?|]+|%[\dA-F]{2})*)?(?:\#(?:[a-z0-9\-._~!$&'($inline*+,;=:@/?|]+|%[\dA-F]{2})*)?" . ')#ie';
$magic_url_replace[] = "make_clickable_callback(MAGIC_URL_WWW, '\$1', '\$2', '', '$class')";
}
return preg_replace($magic_url_match, $magic_url_replace, $text);
가 어떻게이 정규식을 다시 작성할 수 있습니다 그들은 단지 내 도메인에 링크를 일치하도록? 또한, 정규식 자신을 가르치는 가장 좋은 방법은 무엇입니까?
REGEX의 어머니 – SomeKittens
신성한 몰리 !!! 그게 내가 부르는 ** REGEX ** - [이] (http://i0.kym-cdn.com/photos/images/original/000/199/693/disgusted-mother-of-god.png?1321272571) –
나는 REGEX를 좋아한다고 말하지 않았다! –