채택완료

숫자부분만 뽑아서 <sub>태그 넣은상태로 치환

2019-11-29 (금) 18:00:23 3,507

여분필드로 [(CH3)2N]3SiH 이렇게 입력받고

출력은 원소기호처럼 보여지게 하고자합니다...

Copy
[(CH<sub>3</sub>)<sub>2</sub>N]<sub>3</sub>SiH

문자열에서 숫자를 뽑아오는 글들을 봤는데... 아래처럼 뽑아오더라구요...;;

Copy
preg_replace("/[^0-9]*/s", "", $view['wr_3']);

위 방법은... 정말 숫자만... 가져오더라구요;;

그래서 제가 생각한건 str_replace로 숫자를 찾아서 바꿔줄 부분에 양옆에 <sub>정규식</sub>

Copy
$pattern = "/[^0-9]*/s";

$chem = str_replace($pattern, '<sub>'.$pattern.'</sub>', $view['wr_3']);

이런식으로 하면 될 줄 알았는데 <sub> 태그 출력이 안돼서 문의 남겨봅니다...;;

여분필드에 숫자들만 뽑아내서 sub 태그를 달아주려면 어떤식으로 구현해야하나요...??

답변 1개 / 댓글 1개

채택된 답변
+20 포인트
2019-11-29 (금) 18:11:54

* [^0-9]는 숫자를 제외한 문자를 뜻합니다.

Copy
echo preg_replace('/\d+/', '<sub>$0</sub>', $view['wr_3']);

답변에 대한 댓글 1개

헐.... 감사드립니다...ㅠㅠㅠㅠ

본문에 구문은...

숫자를 제외한 글자를 제거 하는 방식인거네요;;

정말 감사드립니다...ㅠㅠㅠ

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