채택완료

정규식 문의

2017-11-02 (목) 17:29:38 2,223

a태그의 href 주소안에 물음표(?) 가 있으면 다른 문자(@)로 치환하고 싶습니다.

정규식 너무 어렵네요 ㅠ

|

답변 2개 / 댓글 1개

채택된 답변
+20 포인트
Copy
//href내의 ?을 골뱅이로 치환
$str = '<a href="http://sir.kr/test.php?a=2" target="_blank" title="테스트">Sir.kr</a><br><a href="http://navycolor.com/test.php?a=2" target="_blank" title="테스트">Navycolor.com</a>';

$pattern = "#<a href=(?:\"|\')(?<links>[^\"\']*)(?:\"|\')#i";

preg_match_all($pattern, $str, $matches);

for($i=0; $i < count($matches['links']); $i++){
    $href = str_replace("?", "@", $matches['links'][$i]);

    $str = str_replace($matches['links'][$i], $href, $str);
}

echo $str;
2017-11-02 (목) 17:30:07

str_replace로는 힘드시나요?

답변에 대한 댓글 1개

a태그 안에요. 그걸로 하면 다 바뀌잖아요.

답변을 작성하려면 로그인이 필요합니다.