Jak mogę wyciąć ciąg przed '(' podpisać z phpCut ciąg przed symbolem PHP
Na przykład: $ a = "abc grudnia g (złoto)";
Jak mogę przeciąć łańcuch stać tylko "abc grudnia g" ??
starałem się stosować tę strstr ($ a, '(', true) ale błędzie wyświetlacz
Jak mogę wyciąć ciąg przed '(' podpisać z phpCut ciąg przed symbolem PHP
Na przykład: $ a = "abc grudnia g (złoto)";
Jak mogę przeciąć łańcuch stać tylko "abc grudnia g" ??
starałem się stosować tę strstr ($ a, '(', true) ale błędzie wyświetlacz
można to zrobić, korzystając explode
.
list($what_you_want,) = explode('(', $str, 2);
Albo można też to zrobić, używając substr
i strpos
:
$what_you_want = substr($str, 0, strpos($str, '('));
Powodem masz błąd używając strstr
dlatego, że ostatni argument nie jest dostępna, chyba że masz PHP 5.3.0 lub nowszej.
$a=substr($a, 0, strpos($a, '('));
Stosując ten kawałek kodu jest rzeczywiście dobrym rozwiązaniem:
$what_you_want = substr($str, 0, strpos($str, '('));
Mimo to, chciałbym zwrócić uwagę na fakt, że będzie wyciąć ciąg na pierwszego wystąpienia „(”. powinni chcesz wyciąć go w ostatniej występowania „(” należy użyć
$what_you_want = substr($str, 0, strrpos($str, '('));
I okazało się, że często zdarza się podczas złomowania zawartości HTML na przykład (bo zagnieżdżonych znaczników).
Cheers, Joan
Jak o strstr:
$topic = strstr('Some topic :: part to exclude', '::', TRUE);
następnie
$topic
= Niektóre temat
Edit: prawo ... 5.3+ tylko
You nawet nie potrzebujemy zmiennej $ garbage : list ($ what_you_want,) = explode ('(', $ str, 2); działa również. – hbw
Rzeczywiście tak. naprawiony. –
Powiedział też, że strstr ($ str, '(', true), nie działa, więc zakładam, że nie ma 5.3.0 ... – hbw