Pagina de start a forumului Forum PHP Romania - Discutii despre PHP, MySQL, Javascript, AJAX, etc Forum PHP Romania - Discutii despre PHP, MySQL, Javascript, AJAX, etc
Comunitatea PHP Romania
 

probleme cu ceva expresii regulate [rezolvat]
Vezi mesajul original

 
       Pagina de start a forumului Forum PHP Romania - Discutii despre PHP, MySQL, Javascript, AJAX, etc -> PHP Avansat
Subiectul anterior :: Subiectul următor  
Autor Mesaj
vectorialpx



Data înscrierii: 01/Mar/2005
Mesaje: 3014
Locație: țopăi pe tasta DELETE

Trimis: Mar Sep 02, 2008 10:01 am    Titlul subiectului: probleme cu ceva expresii regulate [rezolvat]  

niciodata n-am stiut si, mereu zic ca ma apuc sa invat..

am de luat [furat, cum vreti sa-i ziceti] niste articole care sunt formatate ceva de genul:

<a name='un_numar'></a> {ARTICOL} <a name='alt_numar'></a>

am incercat ceva de genul

preg_match_all("/<a name='(.*)'><\/a>(.*)<a name='(.*)'><\/a>/U", $get_content_page, $articole);

si, imi da un array gol... un pic de help? :)
Sus  
Birkoff



Data înscrierii: 18/Mar/2004
Mesaje: 2607
Locație: Bucuresti

Trimis: Mar Sep 02, 2008 12:31 pm    Titlul subiectului:  

foloseste un regex coach, ia un programel dasta free de pe google si pui intr-o fereastra stringul si in cealalta faci combinatii pana ti se coloreaza exact portiunea din string de care ai nevoie si combinatia aia e sintaxa de care ai nevoie...

cat despre reguli ai aici o mica descriere de cum se folosesc
Sus  
vectorialpx



Data înscrierii: 01/Mar/2005
Mesaje: 3014
Locație: țopăi pe tasta DELETE

Trimis: Mar Sep 02, 2008 1:09 pm    Titlul subiectului:  

dupa ce m-am chinuit 3 ore mi-a zis ca de fapt baza de date nu e pierduta si, o sa ni se dea sql-ul deci... solved! 8O

Birkoff, nu am folosit niciodata un regex coach dar tocmai am gasit unul acum si, o sa incep sa ma joc. Si tutorialul e ok insa bazele le mai stiu si eu dar... daca intalnesc o problema... ma omoara practica :) Multam!
Sus  
Pirahna



Data înscrierii: 22/Aug/2004
Mesaje: 4558
Locație: la birou

Trimis: Mar Sep 02, 2008 1:24 pm    Titlul subiectului:  

Muta-l si tu la PHP Avansat pentru ca regex nu e ceva ce tine de incepatori.
Parerea mea.
Sus  
vectorialpx



Data înscrierii: 01/Mar/2005
Mesaje: 3014
Locație: țopăi pe tasta DELETE

Trimis: Mie Sep 10, 2008 1:02 pm    Titlul subiectului:  

recomandati-mi si mie un regex coach, in afara de http://www.softpedia.com/get/Others/Home-Education/The-Regex-Coach.shtml pentru ca nu stiu sa-l folosesc sau nu merge :)
Sus  
Birkoff



Data înscrierii: 18/Mar/2004
Mesaje: 2607
Locație: Bucuresti

Trimis: Mie Sep 10, 2008 1:13 pm    Titlul subiectului:  

http://www.softpedia.com/get/Others/Home-Education/The-Regex-Coach.shtml

si aici un tutorial de cum se foloseste
http://www.weitz.de/regex-coach/tutorial1.html
Sus  
vectorialpx



Data înscrierii: 01/Mar/2005
Mesaje: 3014
Locație: țopăi pe tasta DELETE

Trimis: Mie Sep 10, 2008 3:02 pm    Titlul subiectului:  

revin

<td width='150' valign=top align='left' ><b>(.*)<\/b><\/td>?????<td><div align='justify'>(.*)<\/div><\/a><\/td>

ce e in loc de ????? ca sa primesc si eu (.*)-urile

deci, daca pun <td width='150' valign=top align='left' ><b>(.*)<\/b><\/td>
sau <td><div align='justify'>(.*)<\/div><\/a><\/td> e totul ok. Daca incerc sa le unesc nu mai merg. Deci, cum se unesc [eu am pus .* pentru ca stiu ca reprezinta ORICE - acolo sunt niste spatii, tab-uri, \n-uri etc]
Sus  
Amenthes



Data înscrierii: 12/Dec/2005
Mesaje: 620

Trimis: Mie Sep 10, 2008 5:42 pm    Titlul subiectului:  

Daca ai putea reduce toata problema ta la un scurt test-case ar fi perfect si probabil ai primi mult mai mult ajutor. Sunt prea multe chestii care ma impiedica (pe mine) sa incerc macar sa dau un raspuns.
Sus  
vectorialpx



Data înscrierii: 01/Mar/2005
Mesaje: 3014
Locație: țopăi pe tasta DELETE

Trimis: Joi Sep 11, 2008 10:28 am    Titlul subiectului:  

poate nu ai inteles ideea (e simpla explicatia, problema e mai complicata - pentru mine)...

deci, trebuie sa iau dintro pagina care are structura [care ma intereseaza] de genul:

<td width='150' valign=top align='left' ><b>[continut_care_ma_intereseaza_titlu]</b></td>
[continut care nu ma intereseaza_cu_spatii_and_sh*t]
<td><div align='justify'>[continut_care_ma_intereseaza_content]</div></a></td>

acum, am impartit in 2 reg_exp-ul si, cand iau titlul e OK asa:
preg_match_all("/<td width='150' valign=top align='left' ><b>(.*)<\/b><\/td>/U", $get_content, $matches);

cand iau content-ul, e ok asa:
preg_match_all("/<td><div align='justify'>(.*)<\/div><\/a><\/td>/U", $get_content, $matches);

dar, daca vreau sa le iau impreuna nu merge... si am incercat sa iau [continut care nu ma intereseaza_cu_spatii_and_sh*t] in alta variabila, pe care s-o ignor... adica asa:
preg_match_all("/<td width='150' valign=top align='left' ><b>(.*)<\/b><\/td>(.*)<td><div align='justify'>(.*)<\/div><\/a><\/td>/U", $get_content, $matches);

acum, nu pot sa ma bazez pe asocierea celor doua array-uri [titlu and content] pentru ca se decaleaza la un moment dar si ajung sa asociez unui titlu un alt content

sper ca m-am facut inteles...
Sus  
vectorialpx



Data înscrierii: 01/Mar/2005
Mesaje: 3014
Locație: țopăi pe tasta DELETE

Trimis: Joi Sep 11, 2008 1:24 pm    Titlul subiectului:  

rezolvat de piry [10x!]

preg_match_all("/<td width='150' valign=top align='left' ><b>(.*)<\/b><\/td>(.*)<td><div align='justify'>(.*)<\/div><\/a><\/td>/miUs", $get_content, $matches);

adica, lipsea /miUs de la final... eu am pus doar /U
Sus  
PHPRomania Bot
Bot Member


Data înscrierii: 27/Dec/2007
Mesaje: 1
Locaţie: Server Google
Trimis: Mie Dec 26, 2007 7:01 pm   Titlul subiectului: Ad  

Sus  
 
       Pagina de start a forumului Forum PHP Romania - Discutii despre PHP, MySQL, Javascript, AJAX, etc -> PHP Avansat
Pagina 1 din 1


Powered by phpBB 2.0.22 © 2001, 2002 phpBB Group
Varianta în limba română: Romanian phpBB online community