source

PHP에서 문자가 처음 나타나기 전에 문자열의 부분을 반환합니다.

factcode 2023. 10. 1. 22:01
반응형

PHP에서 문자가 처음 나타나기 전에 문자열의 부분을 반환합니다.

PHP에서 특정 문자가 처음 발생하기 전에 문자열의 부분을 반환하는 가장 간단한 방법은 무엇입니까?

예를 들면 끈이 있다면...

"빠른 갈색 여우가 등을 뛰어 넘었습니다."

공간 문자("")를 필터링하고 있습니다. 함수는 "The"를 반환합니다.

구글러의 경우: strtok이 더 좋습니다.

echo strtok("The quick brown fox", ' ');

이렇게 할 수 있습니다.

$string = 'The quick brown fox jumped over the lazy dog';
$substring = substr($string, 0, strpos($string, ' '));

하지만 난 이게 더 좋아요.

list($firstWord) = explode(' ', $string);

strstr() 문자열의 첫 번째 출현을 찾습니다.처음 발생한 바늘을 포함하여 건초더미 문자열의 일부를 건초더미 끝으로 반환합니다.

세 번째 매개 변수: TRUE인 경우 strstr()은 니들을 제외한 첫 번째 니들 발생 전에 건초 더미 부분을 반환합니다.

$haystack  = 'The quick brown foxed jumped over the etc etc.';
$needle    = ' ';
echo strstr($haystack, $needle, true);

인쇄물The.

사용 방법:

$string = "The quick brown fox jumped over the etc etc.";

$splitter = " ";

$pieces = explode($splitter, $string);

echo $pieces[0];

정리하자면, 네 가지 방법이 있습니다.구분 기호=:

  1. strstr($str, '=', true);
  2. strtok($str, '=');
  3. explode('=', $str)[0]; // Slowest
  4. substr($str, 0, strpos($str, '='));

다음 표는 출력 차이를 보여 줍니다.다른 출력은 상당히 동형입니다.

+-------+----------------+----------+-------+----------------+-------+-------+
| $str  | "before=after" | "=after" | "="   | "no delimeter" | 1     | ""    |
+-------+----------------+----------+-------+----------------+-------+-------+
| 1.    | "before"       | ""       | ""    | false          | false | false |
| 2.    | "before"       | "after"  | false | "no delimeter" | "1"   | false |
| 3.    | "before"       | ""       | ""    | "no delimeter" | "1"   | ""    |
| 4.    | "before"       | ""       | ""    | ""             | ""    | ""    |

멀티바이트와 관련된 문제가 나타나면 다음과 같이 시도해 보십시오.mb_strstr:

mb_strstr($str, 'ζ', true);

추가 공지:explode더 간단한 것처럼 보이고, 멀티바이트를 다루며, delimeter 전후의 세 번째 파라미터 반환을 모두 통과시킴으로써.

explode('ζ', $str, 2);

strtok() 함수는 문자열을 더 작은 문자열로 분할합니다.

$string = "The quick brown";
$token = strtok($string, " "); // Output: The

공백이 없는 경우: 모든 문자 인쇄

$string = "Thequickbrown";
$token = strtok($string, " "); // Output: Thequickbrown

언급URL : https://stackoverflow.com/questions/3766301/return-the-portion-of-a-string-before-the-first-occurrence-of-a-character-in-php

반응형