2013-06-28 7 views
1

어떻게 PHP로 다음 작업을 수행 할 수 있습니까? 무언가로 시작하는 문자열을 제거하십시오.

내 예입니다 http://www.example.com/index.php?&xx=okok&yy=no&bb=525252

나는이 부분을 제거하려면 : 나는이 시도 http://www.example.com/index.php?&xx=okok

: &yy=no&bb=525252

난 그냥이 결과를 원하는을

$str = 'bla_string_bla_bla_bla'; 
echo preg_replace('/bla_/', '', $str, 1); ; 

하지만, 이건 내가 원하는 건 아니야.

+1

'않는 str_replace를 ('& YY = 아니오 BB = 525252', '', $ str을)'작동하지 않는 이유는 무엇입니까? – user20232359723568423357842364

+1

'parse_url()'을 사용하여 query_string을 추출하면'&'에서'explode()'할 수 있으며 array 나 key = value 옵션에서 필요한 것을 추출 할 수 있습니다. – ludesign

+1

루드 디자인의 조언이 가장 좋습니다. URL에 매개 변수의 특정 순서에 의존하고 싶습니까? – Barmar

답변

1

preg_replace는 좋은 시작이었습니다. 그러나 regexes에 대해 알아야합니다.

이 작동합니다 ...

  • &yy 일치 &yy 분명히
  • .+ 모든 것을 일치
  • : 정규식은 &yy.+$

    이 어떻게 작동하는지 보자 여기

    $str = 'http://www.example.com/index.php?&xx=okok&yy=no&bb=525252'; 
    echo preg_replace ('/&yy.+$/', '', $str); 
    

    입니다

  • $ ... 문자열의 끝까지.

그래서 여기, 내 교체는 말한다 : 간단하게이 부분을 삭제 실제로 아무것도에 의해 문자열이 끝날 때까지 &yy 시작한다 무엇이든 교체합니다. 당신이 할 수있는

+0

@WomarioSay 귀하의 필요에 맞는 경우 "수락"플래그를 추가하는 것을 잊지 마십시오. – Jerska

+0

이것은 내가 필요로하는 것이 아닙니다. 나머지를 모두 제거해야합니다. www.example.com/yyy/xxxxxx/blablbla.html 결과를 원합니다. www.example.com/yyy/xxxxxx/ – bosslife

+0

@WomarioSay 그것은 당신의 질문이 아니 었습니다. 자유롭게 다른 것을 게시하고, 누군가가 당신에게 답을주기를 기다리지 않고 제안 된 모든 도구를 살펴보십시오. (Regexes, parse_url, substring, explode) – Jerska

0

항상 끝 부분에 'yy'변수 이름이 있어야합니까? 이것을 시도해 볼 수 있습니다 :

$str = 'http://www.example.com/index.php?&xx=okok&yy=no&bb=525252'; 
$ex = explode('&yy=', $str, 2); 
$firstPart = $ex[0]; 
2

:

$a = 'http://www.example.com/index.php?&xx=okok&yy=no&bb=525252'; 

$b = substr($a,0,strpos($a,'&yy')); // Set in '&yy' the string to identify the beginning of the string to remove 

echo $b; // Will print http://www.example.com/index.php?&xx=okok 
관련 문제