[RE] rozdělení řetězce podle lomítek – PHP – Fórum – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu

[RE] rozdělení řetězce podle lomítek – PHP – Fórum – Programujte.com[RE] rozdělení řetězce podle lomítek – PHP – Fórum – Programujte.com

 

hrach
~ Redaktor
+1
Boss
27. 4. 2008   #1
-
0
-

$link = 'str1/str2{str3/str4}/str5';
potřebuju regularni vyraz na rozdělení řetězce podle lomítek (preg_split), ale tak, aby se lomítko v závorkách {} ignorovalo... -> rozdělit na části:
- str1
- str2{str3/str4}
- str5

díky moc za pomoc

Nahlásit jako SPAM
IP: 193.179.169.–
http://jan.skrasek.com@hrachcz – webdeveloper
schimpanze0
Návštěvník
27. 4. 2008   #2
-
0
-

tak to zkus rozdělit podle lomítek, pak odděl ty výrazy s {} a nakonec spoj str3 a str4...... trošku složité, ale myslím si že to pude... :)

Edit: Nevšim sem si že str2,3 a 4 mají být dohromady ;)

Nahlásit jako SPAM
IP: 194.108.206.–
Nejlepší způsob jak se připravit na budoucnost je, vymyslet si jí.
netman920
Super člen
27. 4. 2008   #3
-
0
-

To hrach :
NEslo by to pomocou LIST a EXPLODE??

Nahlásit jako SPAM
IP: 195.91.54.–
hrach
~ Redaktor
+1
Boss
27. 4. 2008   #4
-
0
-

To netman92 : nene :(

Nahlásit jako SPAM
IP: 193.179.169.–
http://jan.skrasek.com@hrachcz – webdeveloper
schimpanze0
Návštěvník
28. 4. 2008   #5
-
0
-

a chceš, aby tam byla i ta lomítka?

Nahlásit jako SPAM
IP: 194.108.206.–
Nejlepší způsob jak se připravit na budoucnost je, vymyslet si jí.
schimpanze0
Návštěvník
28. 4. 2008   #6
-
0
-

co takto? :) http://simon.manq.name/rozdel.php



<?php

$retezec = "str1/str2{str3/str4}/str5";
$rozdel = explode("/", $retezec);
echo $rozdel[0];
echo $rozdel[1]."".$rozdel[2];
echo $rozdel[3]

?>

Nahlásit jako SPAM
IP: 194.108.206.–
Nejlepší způsob jak se připravit na budoucnost je, vymyslet si jí.
survik1
~ Moderátor
0
Posthunter
28. 4. 2008   #7
-
0
-

To schimpanze : To lomítko v závorce má být nezměněné!

Nahlásit jako SPAM
IP: 89.102.163.–
Život je jen hra, která se nedá vyhrát.
schimpanze0
Návštěvník
28. 4. 2008   #8
-
0
-

tak by se mohl 7 řádek upravit na :

echo $rozdel[1]."/".$rozdel[2];

Nahlásit jako SPAM
IP: 194.108.206.–
Nejlepší způsob jak se připravit na budoucnost je, vymyslet si jí.
schimpanze0
Návštěvník
28. 4. 2008   #9
-
0
-

a ještě mi chybí středník na posledním řádku! :)

Nahlásit jako SPAM
IP: 194.108.206.–
Nejlepší způsob jak se připravit na budoucnost je, vymyslet si jí.
survik1
~ Moderátor
0
Posthunter
28. 4. 2008   #10
-
0
-

To schimpanze : Omg nechápeš že to má být univerzální?!

Nahlásit jako SPAM
IP: 89.102.163.–
Život je jen hra, která se nedá vyhrát.
schimpanze0
Návštěvník
28. 4. 2008   #11
-
0
-

To survik1 : A myslíš, že to na jiné řetězce nebude fungovat?

Nahlásit jako SPAM
IP: 194.108.206.–
Nejlepší způsob jak se připravit na budoucnost je, vymyslet si jí.
survik1
~ Moderátor
0
Posthunter
28. 4. 2008   #12
-
0
-

To schimpanze :

str1/str2{str3/str4}/str5{str6}/str7{str8/str9}

Nahlásit jako SPAM
IP: 89.102.163.–
Život je jen hra, která se nedá vyhrát.
netman920
Super člen
28. 4. 2008   #13
-
0
-

To survik1 :
ja som mu pisal ci by sa to nedalo cez explode ale povedal ze nie
ved on to chce cez

regularni vyraz
:-D

Nahlásit jako SPAM
IP: 195.91.54.–
hrach
~ Redaktor
+1
Boss
28. 4. 2008   #14
-
0
-

achjo :) je mi jedno jak, ale prez explode se to opravdu neudela, a tam myslim, zejedina cesta je regularni vyraz. Ale uz se mi rysuje v hlave, jak to udelat. Ne pomoci preg_split, ale pomoci preg_match... :) Až na to přijdu, postnu sem....

Nahlásit jako SPAM
IP: 193.179.169.–
http://jan.skrasek.com@hrachcz – webdeveloper
insider0
Věrný člen
30. 4. 2008   #15
-
0
-

zdravim,
co takhle regularnim vyrazem nahradit lomitko mezi {} za dejme tomu 2 llmitka, a pomoci preg split rozdelit upraveny text podle jednoho lomitka, pak rozdelene projet a nahradit dve lomitka za jedno...
Je to trochu slozitejsi, ale ucel to splni :))

$regNahrazeni = "(\{[^\}]+)\/([^\}]+\})";

Nahlásit jako SPAM
IP: 78.102.32.–
I don't want to see you go,[br] The sky is over[br] Even though we can't afford[br] The sky is over,[br] The sky is over us.[br][br] CIVILIZATION IS OVER
hrach
~ Redaktor
+1
Boss
30. 4. 2008   #16
-
0
-

To insider : :) taky mě napadlo :) ale nakonec jsem se smiril s tim, ze v {} budu to oddelovat carkou... :)

Nahlásit jako SPAM
IP: 193.179.169.–
http://jan.skrasek.com@hrachcz – webdeveloper
Zjistit počet nových příspěvků

Přidej příspěvek

Toto téma je starší jak čtvrt roku – přidej svůj příspěvek jen tehdy, máš-li k tématu opravdu co říct!

Ano, opravdu chci reagovat → zobrazí formulář pro přidání příspěvku

×Vložení zdrojáku

×Vložení obrázku

Vložit URL obrázku Vybrat obrázek na disku
Vlož URL adresu obrázku:
Klikni a vyber obrázek z počítače:

×Vložení videa

Aktuálně jsou podporována videa ze serverů YouTube, Vimeo a Dailymotion.
×
 
Podporujeme Gravatara.
Zadej URL adresu Avatara (40 x 40 px) nebo emailovou adresu pro použití Gravatara.
Email nikam neukládáme, po získání Gravatara je zahozen.
-
Pravidla pro psaní příspěvků, používej diakritiku. ENTER pro nový odstavec, SHIFT + ENTER pro nový řádek.
Sledovat nové příspěvky (pouze pro přihlášené)
Sleduj vlákno a v případě přidání nového příspěvku o tom budeš vědět mezi prvními.
Reaguješ na příspěvek:

Uživatelé prohlížející si toto vlákno

Uživatelé on-line: 0 registrovaných, 52 hostů

 

Hostujeme u Českého hostingu       ISSN 1801-1586       ⇡ Nahoru Webtea.cz logo © 20032024 Programujte.com
Zasadilo a pěstuje Webtea.cz, šéfredaktor Lukáš Churý