Danke, dafür habe ich es gebraucht:if(substr($myURL, 0, 4) == "www.") $myURL = preg_replace('/www./', '', $myURL, 1);
Shanehoban
1
Sie brauchen wirklich nur str_replace ('www.', '', $ Url); Sie müssen nicht überprüfen, ob es existiert.
Doug Cassidy
8
@DougCassidy: Was wäre wenn $url = "www.subwww.myweirddomainwww.com"? Ohne die erste Überprüfung für substr($url, 0, 4)ist die Rückgabe $urlruiniert !!
Dies ist die richtige Antwort auf die falsche Frage. Abgestimmt.
Mickmackusa
Weil es mehr als das Einfügen von Kopien erfordert?
Robert Pounder
HINWEIS: Bei Mehrbyte-Zeichensätzen wie UTF-8 muss stattdessen verwendet werden mb_substr(i, 1), um das iZeichen abzurufen. @RobertPounder - weil es nicht mehr als einen Charakter umfasst.
ToolmakerSteve
1
@ToolmakerSteve, wenn Sie so sagen; $string = "Häagen-Dazs"; $stringFirstChars = function($amount, $string) { $i=0;$done=false;$return = '';while($done == false) {$return.=$string{$i};if($amount===$i)$done=true;$i++;}return $return;}; var_dump($stringFirstChars(5, $string)); (Kopieren, Einfügen in phptester.net oder wir)
Robert Pounder
Ja, ich weiß. Ich habe es nicht persönlich abgelehnt; Ich habe nur beobachtet, auf welche Weise es die Frage nicht beantwortet. Was Sie geschrieben haben - das wäre eine vollständige Antwort: Zeigen Sie einem Anfänger, wie man sich in PHP von einem Zeichen auf mehrere Zeichen erstreckt. Nützliche Ergänzung zu den Fragen und Antworten - danke.
ToolmakerSteve
15
Sie können die substrFunktion folgendermaßen verwenden:
echo substr($myStr,0,5);
Das zweite Argument substrist, von welcher Position aus Sie beginnen möchten, und das dritte Argument ist, wie viele Zeichen Sie zurückgeben möchten.
Dieser SEHR späte Beitrag bringt keinen Mehrwert und bläht die Seite nur auf, weil alles, was darin steht, bereits gesagt wurde (Jahre zuvor). Bitte posten Sie keine Antwort, es sei denn, Sie haben etwas Einzigartiges und Wertvolles hinzuzufügen. Diese Antwort wurde abgelehnt, um nutzlose, verspätete Posts zu unterbinden.
Mickmackusa
Sie haben 7 Jahre später eine Antwort gepostet? Ernsthaft?
Antworten:
Für Single-Byte - Zeichenketten (zB US-ASCII, ISO 8859 - Familie, etc.) verwenden
substr
und für Multi-Byte - Zeichenketten (zB UTF-8, UTF-16, etc.) Verwendungmb_substr
:quelle
if(substr($myURL, 0, 4) == "www.") $myURL = preg_replace('/www./', '', $myURL, 1);
$url = "www.subwww.myweirddomainwww.com"
? Ohne die erste Überprüfung fürsubstr($url, 0, 4)
ist die Rückgabe$url
ruiniert !!Verwendung
substr()
:quelle
substr("Häagen-Dazs", 0, 5) == "Häag"
- Was mache ich falsch?mb_substr
.Eine alternative Möglichkeit, nur einen Charakter zu erhalten.
quelle
mb_substr(i, 1)
, um dasi
Zeichen abzurufen. @RobertPounder - weil es nicht mehr als einen Charakter umfasst.$string = "Häagen-Dazs"; $stringFirstChars = function($amount, $string) { $i=0;$done=false;$return = '';while($done == false) {$return.=$string{$i};if($amount===$i)$done=true;$i++;}return $return;}; var_dump($stringFirstChars(5, $string));
(Kopieren, Einfügen in phptester.net oder wir)Sie können die
substr
Funktion folgendermaßen verwenden:Das zweite Argument
substr
ist, von welcher Position aus Sie beginnen möchten, und das dritte Argument ist, wie viele Zeichen Sie zurückgeben möchten.quelle
Sie können Ihr Ergebnis erhalten, indem Sie einfach substr () verwenden :
Syntax substr (String, Start, Länge)
Beispiel
Ausgabe :
quelle