Kérdés Hivatkozások módosítása preg_replace segítségével

Több
2013 nov. 15 17:10 #1 Írta: Laza
Laza létrehozta a témát: Hivatkozások módosítása preg_replace segítségével
Nem biztos, hogy ide kellett volna írnom, de ez a topic felel meg a kérdésemnek igazán. A kérdésem az lenne - remélem lesz szakértő -, hogy anno a cikkekben ilyen hivatkozások lettek betéve.
<a href="index.php/70-tervezok/marton-laszlo-attila"><a href="index.php/704-tervezok/marton-laszlo-attila"><a href="index.php/7220-tervezok/marton-laszlo-attila"><a href="index.php/722-tervezok/marton-laszlo-attila"><a href="index.php/20-tervezok/marton-laszlo-attila">
és ezekből kellene az "index.php/szamok-" eltávolítani magyarul "index.php/722-tervezok/..."-ből kéne erre "tervezok/..." cserélnem. A php részt megírtam, csak a preg_replace parancs regexp résznél állandóan elakadok.

Tudna valaki segíteni, mert a google napi 1500 hibás linket talál e miatt az oldalon.

Köszönöm előre is.

Jelentkezz be, hogy te is részt vehess beszélgetésben!

Több
2013 nov. 15 21:17 - 2013 nov. 15 21:23 #2 Írta: Balázs
Balázs válaszolt a témára: Hivatkozások módosítása preg_replace segítségével
Szerintem ennél jobb megoldás az, ha egy-egy cikk a közvetlen (SEF nélküli) elérhetőségére cserélnéd át a meglévő hivatkozásokat pl.:
<a href="index.php/79-tervezok/marton-laszlo-attila"> => <a href="index.php?option=com_content&amp;view=article&amp;id=18&amp;catid=79&amp;Itemid=399">

Ha bizalmas információt szeretnél közölni az adminokkal, akkor tedd az üzeneted tartalmát a [ confidential ][ /confidential ] címkék közé (szóközök nélkül).

Joomla! tanácsadás, oktatás, fejlesztés - joomlabs.hu
Utolsó szerkesztés: 2013 nov. 15 21:23 Írta: Balázs.

Jelentkezz be, hogy te is részt vehess beszélgetésben!

Több
2013 nov. 15 21:36 #3 Írta: Balázs
Balázs válaszolt a témára: Hivatkozások módosítása preg_replace segítségével
Gyors megoldás:

1. _content tábla export.
2. Notepad++-ban megnyitod
3. Csere, mintaillesztéssel.
Keresendő: /[0-9]*-
Csere erre: /
4. Összes cseréje
5. Mentés
6. SQL Import

Ha bizalmas információt szeretnél közölni az adminokkal, akkor tedd az üzeneted tartalmát a [ confidential ][ /confidential ] címkék közé (szóközök nélkül).

Joomla! tanácsadás, oktatás, fejlesztés - joomlabs.hu
A következő felhasználók mondtak köszönetet: Laza

Jelentkezz be, hogy te is részt vehess beszélgetésben!

Több
2013 nov. 15 22:07 #4 Írta: Laza
Laza válaszolt a témára: Hivatkozások módosítása preg_replace segítségével
Köszönöm a segedelmet müxik :) egyszer jó lenne, ha valaki végre érthetően leírná melyik jel mit jelent a regexp-ben.

egy másik helyről 2 megoldást is kaptam, ide írom hátha valakinek még jó lesz
$str=preg_replace("@index\.php/\d+-@", "", $str);

a precízebb megoldás
$str=preg_replace('@href="index\.php/\d+-tervezok@', 'href="tervezok', $str);

még1x köszönöm

Jelentkezz be, hogy te is részt vehess beszélgetésben!