2017-11-21 1 views
1

PHP에서 문자열을 찾는 방법을 알아 내려고하고 그 문자열이 최종 공간까지 발견 된 후 모든 병행 문자를 삭제하려고합니다.특정 문자열 PHP를 공백까지 찾기/바꾸기

기본적으로 내 앱에는 큰 텍스트가 모든 것과 섞여 있습니다. 내 결과물에는 '@'문자로 시작하는 단어를 제거하고 싶습니다. 예를 들어 문자열에 대한

:

이 자리 표시 자 #string이며 잘 @great 보인다?

이 문자열을 검색하고 "@great"부분 만 제거하려면 어떻게해야합니까? 나는 @xxx가 무엇인지 알 수 없기 때문에 먼저 문자열을 검색 한 다음 아무 것도 대체 할 필요가 없습니다.

는 내가이 작업을 수행 할 수 있습니다 이해 :

<?php 
$string = "This is a placeholder #string and it looks @great right?"; 
$newstring = str_replace("@great", "", $string); 
print $newstring; 
?> 

하지만 난 @xxx 포함 또는 얼마나 될 것 될지 알 수 없습니다. 내가 알기로는이 될 break/space가 있고 제거하고 싶은 것이 있습니다.

텍스트에 "@"가 포함되어 있으면 공백 문자까지 함께 "@xxx"를 제거한 다음 공백까지 제거하십시오. 재치있는 모든 것을 남겨주세요.

아이디어가 있으십니까?

+0

구글 : 정규 표현식 단어 경계 – Martijn

+0

당신은 항상 뒤에 공백이있을 것 확실합니까? 문자열의 마지막 단어라면 어떻게 될까요[email protected]의 끝에 구두점이있을 수 있습니까? 그렇다면 제거해야합니까? –

+1

이메일이 있다면 어떻게 될까요? xD – Chay22

답변

-1

방법 1 strpos()를 사용하여 원래 문자열의 위치를 ​​찾은 다음 substr()을 사용하여 원하는 문자열을 반환합니다. 방법 2 당신은 또한 폭발()과 구분 기호로 @great 사용하고 다음

내가 이걸 발견
+1

자세한 내용을 제공해야합니다. 그것은 어느 정도는 질문에 답해 주지만 예제를 줄 수 있습니다 – Andreas

-1

원하는 것을 얻기 위해 반환 된 배열을 분석 사용 : 같은 질문 https://stackoverflow.com/a/5877136/8695939
을하지만 $와.

\ $ :

설명 (\ + w)

\ $
이 () 특수 $ 문자 탈출 : 캡처 여기에 일치를
w \ (적어도 대부분의 엔진에서) 그것을 배

가 도움이됩니까

의 수와 일치 : - Z, A - - Z 0 9 (and_)
+ A와 일치?

편집 : PHP preg-replace.

+0

고마워요. \\ (\ w +)를 사용하면 그 목적을 달성 할 수 있지만 내 컨텍스트에서 정규식을 어떻게 사용합니까? 찾기 및 바꾸기의 맥락에서? – Uz001

+0

내가 왜 downvoted되었는지 알 수 있습니까? 나는 친구들을 돕기 위해 여기에있다. 나는 나의 대답 @ Uz001을 편집 할 것이다 –

2

preg_replace를 사용할 수 있습니다.

@ 기호를 찾아 모든 문자 또는 숫자 뒤에 하나의 공백을 제거합니다.

$string = "This is a placeholder #string and it looks @great right?"; 
$newstring = preg_replace("/@\w+\s/", "", $string); 
print $newstring; 

https://3v4l.org/OUe87

+0

감사합니다 위대한 작품! – Uz001

관련 문제