Hinnavaatlus
:: Foorum
:: Uudised
:: Ärifoorumid
:: HV F1 ennustusvõistlus
:: Pangalink
:: Telekavad
:: HV toote otsing
|
|
autor |
|
raido357
HV veteran
liitunud: 26.09.2002
|
21.01.2011 12:25:53
PHP preg_replace href väärtus |
|
|
Tere,
ehk keegi oskab koostada regulaaravaldise, mis asendaks html stringis järgneval kujul lingid:
1. <a href="?LangID=1&CatID=2" siinehkveelmidagi>Minu link 1</a>
kujule --> <a href="minu-link1/2" siinkahveelmidagi>Minu link 1</a>
Tänud!
|
|
Kommentaarid: 78 loe/lisa |
Kasutajad arvavad: |
   |
:: |
0 :: |
0 :: |
70 |
|
tagasi üles |
|
 |
airm
HV Guru
liitunud: 26.02.2003
|
21.01.2011 12:56:34
|
|
|
sul on vaja tegelikult ainult kaks stringiasendust:
"?LangID=" => "minu-link"
ja
"&CatID=" => "/"
|
|
Kommentaarid: 56 loe/lisa |
Kasutajad arvavad: |
   |
:: |
2 :: |
1 :: |
50 |
|
tagasi üles |
|
 |
raido357
HV veteran
liitunud: 26.09.2002
|
21.01.2011 13:19:51
|
|
|
airm kirjutas: |
sul on vaja tegelikult ainult kaks stringiasendust:
"?LangID=" => "minu-link"
ja
"&CatID=" => "/" |
Nojah, CatID asenduse saab küll nii teha aga LangID asendus minu lingiga ei saa antud rakenduse juures.
Üks tükk HTML stringi hoitakse massiivis, nüüd on vaja kogu selle html stringi ulatuses leida 1. kujul lingid, nendest samadest linkidest matchida välja CatID ja <a>siinVahel</a> olev tekst. Seejärel see "siinVahel" olev tekst lisada lingi algusesse.
$html = 'html html html <a href="?LangID=1&CatID=25">Minu link 1</a> html html html content';
Tulemuseks vaja saada:
$html = 'html html html <a href="minu-link1/25">Minu link 1</a> html html html content';
ja EN keele puhul
$html = 'html html html <a href="en/minu-link1/25">Minu link 1</a> html html html content';
Näiteks.
Edit: Kui kellelgi head suhted regulaaravaldistega ja viitsib vaeva näha, siis ootan lahendust endiselt.
Hetkel aga lähen mugavamat teed ja kasutan PHP Simple HTML DOM Parserit.
|
|
Kommentaarid: 78 loe/lisa |
Kasutajad arvavad: |
   |
:: |
0 :: |
0 :: |
70 |
|
tagasi üles |
|
 |
airm
HV Guru
liitunud: 26.02.2003
|
21.01.2011 13:55:45
|
|
|
Kogu porr on see, et sa muudad olemasolevat html -i.
Väga vähesed teevad seda.
Tehnoloogia on ikka sinnapoole, kus seda genereeritakse, mitte ei muudeta valmis html -i väljundit
|
|
Kommentaarid: 56 loe/lisa |
Kasutajad arvavad: |
   |
:: |
2 :: |
1 :: |
50 |
|
tagasi üles |
|
 |
Timukas0
HV kasutaja

liitunud: 20.03.2007
|
21.01.2011 14:29:39
|
|
|
Midagi sellist?
php:
|
<?php $html = 'html html html <a href="?LangID=1&CatID=25">Minu link 1</a> html html html content'; $newHtml = preg_replace_callback('/<a href="\?LangID=(.*?)&CatID=(.*?)">(.*?)<\/a>/', function($matches) { $link = ''; //keele valik if ($matches[1] == 2) { $link .= 'en/'; } $link .= strtolower(str_replace(' ', '-', $matches[3])) . '/' . $matches[2]; //vajadusel asenda viimane - return '<a href="' . $link . '">' . $matches[3] . '</a>'; }, $html);
|
|
|
Kommentaarid: 3 loe/lisa |
Kasutajad arvavad: |
   |
:: |
0 :: |
0 :: |
3 |
|
tagasi üles |
|
 |
raido357
HV veteran
liitunud: 26.09.2002
|
21.01.2011 15:39:11
|
|
|
airm kirjutas: |
Kogu porr on see, et sa muudad olemasolevat html -i.
Väga vähesed teevad seda.
Tehnoloogia on ikka sinnapoole, kus seda genereeritakse, mitte ei muudeta valmis html -i väljundit |
No oleks tore jah, paraku ei ole see otstarbekas. Kui saaks algset asja näpuvajutusega muuta, oleks asi ammu tehtud. Paraku ei ole mõtet ressurssi kulutada sellele, lihtsam on pärast htmli muuta.
Timukas0, väga viis, minu poolt teema lõpetatud.
|
|
Kommentaarid: 78 loe/lisa |
Kasutajad arvavad: |
   |
:: |
0 :: |
0 :: |
70 |
|
tagasi üles |
|
 |
|
lisa lemmikuks |
|
|
sa ei või postitada uusi teemasid siia foorumisse sa ei või vastata selle foorumi teemadele sa ei või muuta oma postitusi selles foorumis sa ei või kustutada oma postitusi selles foorumis sa ei või vastata küsitlustele selles foorumis sa ei saa lisada manuseid selles foorumis sa võid manuseid alla laadida selles foorumis
|
|