Heim >Backend-Entwicklung >PHP-Tutorial >So fangen Sie den angegebenen Teil der Zeichenfolge per Symbol in PHP ab (Code)

So fangen Sie den angegebenen Teil der Zeichenfolge per Symbol in PHP ab (Code)

不言
不言Original
2018-09-12 16:42:454251Durchsuche

Der Inhalt dieses Artikels handelt davon, wie man den angegebenen Teil (Code) einer Zeichenfolge in PHP abfängt. Ich hoffe, dass er für Sie hilfreich ist.

Das Abfangen von Zeichenfolgen wird häufig in der PHP-Entwicklung verwendet.
Und es gibt viele Anforderungen für das Abfangen.

Manchmal möchten wir die Nummer abfangen nach dem letzten Schrägstrich „/“;

Manchmal müssen wir den Inhalt vor dem ersten Schrägstrich „/“ abfangen, um festzustellen, ob der vom Benutzer eingegebene URL-Link http:// usw. enthält Es gibt viele in PHP integrierte Funktionen zum Abfangen von Zeichenfolgen.

1 $str='123/456/789/abc';

Abfangen des Inhalts vor dem ersten Schrägstrich so sein:

1 echo substr($str,0,strpos($str, '/'))

oder


1 $array=explode('/', $str);
2 echo $array[0];
3 // 输出 123

Um den Inhalt nach dem ersten Schrägstrich zu erfassen, können Sie Folgendes tun:

echo trim(strrchr($str, '/'),'/');

Wenn Sie wissen der Schrägstrich Die Anzahl von


1 $array=explode('/', $str);
2 echo $array[3];
3 //输出 abc

Was ist, wenn Sie nicht wissen, wie viele Schrägstriche es gibt? Was ist, wenn Sie den Inhalt zwischen dem zweiten und dem dritten Schrägstrich haben möchten?

Die folgende Funktion kann alle oben genannten Probleme leicht lösen;

/**
 * 按符号截取字符串的指定部分
 * @param string $str 需要截取的字符串
 * @param string $sign 需要截取的符号
 * @param int $number 如是正数以0为起点从左向右截  负数则从右向左截
 * @return string 返回截取的内容
 */
function cut_str($str,$sign,$number){
    $array=explode($sign, $str);
    $length=count($array);
    if($number<0){
        $new_array=array_reverse($array);
        $abs_number=abs($number);
        if($abs_number>$length){
            return &#39;error&#39;;
        }else{
            return $new_array[$abs_number-1];
        }
    }else{
        if($number>=$length){
            return &#39;error&#39;;
        }else{
            return $array[$number];
        }
    }
}

Beispiel

1 echo cut_str($str,&#39;/&#39;,0); //输出 123
2 echo cut_str($str,&#39;/&#39;,2); //输出 789
3 echo cut_str($str,&#39;/&#39;,-1);//输出 abc
4 echo cut_str($str,&#39;/&#39;,-3);//输出 456

Verwandte Empfehlungen:

PHP fängt den angegebenen Teil der Zeichenfolge gemäß Symbolen ab

PHP-Code zum Abfangen der Zeichenfolge gemäß angegebene Länge

Das obige ist der detaillierte Inhalt vonSo fangen Sie den angegebenen Teil der Zeichenfolge per Symbol in PHP ab (Code). Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn