Autor | Zpráva | ||
---|---|---|---|
unlucky Profil |
#1 · Zasláno: 22. 8. 2017, 06:26:57
Zdravím, už se s tím hrabu pár hod a nemohu se nějak dokopat k tomu, jak získat string mezi prvními a posledními uvozovkami (apostrofy)
Restaurace 'Bill's restaurant' je hodně známý Jak dostanu Bill's restaurant díky moc |
||
T-fon Profil |
#2 · Zasláno: 22. 8. 2017, 08:35:37
Když už něco zkoušíš pár hodin, tak ses určitě někam dostal, takže je dobrý uvést aspoň část kódu, na kterým ses zasek.
Mě napadlo takovýto řešení: $string = "Restaurace 'Bill's restaurant' je hodně známý"; $part = strstr($string, "'"); $position = strrpos($part, "'"); $result = substr($part, 1, $position-1); |
||
breeta Profil |
#3 · Zasláno: 22. 8. 2017, 09:13:24
Použij preg_match php.net/manual/en/function.preg-match.php a regulární výraz pro vyhledání řetězce ...
|
||
Keeehi Profil |
#4 · Zasláno: 22. 8. 2017, 09:43:21
T-fon:
„Ale neni to moc elegantní, místní borci určitě poraděj něco lepšího.“ Náhodou, tohle je zrovna ta nejlepší metoda. Ano, nevypadá tak cool jako regulární výraz ale není nic efektivnějšího. Tedy strstr je tam trochu zbytečný a lepší by byl obyčejný strpos, ale jinak funkční. Pak už jediné, co tomu chybí je ošetření případu kdy se v textu není žádný nebo je jen jeden apostrof. <?php $string = "Restaurace 'Bill's restaurant' je hodně známý"; $start = strpos($string, "'"); if($start === false) { echo "There is no apostrophe"; } else { $end = strrpos($string, "'"); if ($start === $end) { echo "There is only one apostrophe"; } else { $result = substr($string, $start+1, $end-$start-1); echo $result; } } |
||
Časová prodleva: 7 let
|
0