[PHP] preg_replace + str_replace, zamiana tekstu w linki, usunięcie znaku + z anchora |
[PHP] preg_replace + str_replace, zamiana tekstu w linki, usunięcie znaku + z anchora |
14.03.2019, 19:40:57
Post
#1
|
|
Grupa: Zarejestrowani Postów: 358 Pomógł: 1 Dołączył: 20.07.2014 Ostrzeżenie: (0%) |
Witam
Nie mogę sobie poradzić z usunięciem znaku + z anchora linku:
Kompletnie nie wiem jak się za to zabrać, dzięki Ps. str_replace w $search_replace nie działa. Ten post edytował tenloginjestzajety 14.03.2019, 19:42:38 -------------------- Nigdy nie zapominam kliknąć "pomógł". Zastosowanie na stronie [prosze nie spamuj]
|
|
|
15.03.2019, 11:36:20
Post
#2
|
|
Grupa: Zarejestrowani Postów: 1 836 Pomógł: 225 Dołączył: 20.03.2005 Skąd: Będzin Ostrzeżenie: (0%) |
Nie wiem co CI ten plus przeszkadza:
Działający kod jest taki, ale jeżeli chciałbym zlikwidować plus, to po lub przed zamianą tekstu zrobiłbym usuwanie znaków nielegalnych.
Czyli:
|
|
|
23.03.2019, 14:15:47
Post
#3
|
|
Grupa: Zarejestrowani Postów: 358 Pomógł: 1 Dołączył: 20.07.2014 Ostrzeżenie: (0%) |
Nie bardzo to działa, ogólnie robię tak:
Zamieniam wszystko na linki, a później chce zamienić po "> wszystkie + na spacje. Zamiana na linki
Zamiana + w tytule linku, nie działa: Dzięki -------------------- Nigdy nie zapominam kliknąć "pomógł". Zastosowanie na stronie [prosze nie spamuj]
|
|
|
23.03.2019, 14:24:09
Post
#4
|
|
Grupa: Zarejestrowani Postów: 6 365 Pomógł: 1114 Dołączył: 30.08.2006 Ostrzeżenie: (0%) |
A tak w szerszym oglądzie co chcesz zrobić?
-------------------- |
|
|
23.03.2019, 15:19:17
Post
#5
|
|
Grupa: Zarejestrowani Postów: 358 Pomógł: 1 Dołączył: 20.07.2014 Ostrzeżenie: (0%) |
Pobieram tekst z bazy z adresami http oraz https, które zamieniam na linki. W tekście tym są również adresy http mojej strony, której podstrony zawierają znak + w miejscu spacji
Zapis w bazie: Jakiś tekst tekst https://mojastrona.pl/podstrony/jakaś+podstrona tekst tekst W efekcie otrzymuje taki link, bo stosuje jeszcze str_replace : czyli otrzymuje taki link w tekście: jakaś+podstrona a chciałbym pozbyć się jeszcze tego plusa w tytule linku, bo w adresie musi być czyli patrząc na kod źródłowy pożądany efekt to: <a href="https://mojastrona.pl/podstrony/jakaś+podstrona">jakaś podstrona</a> pozostałe strony jako linki w tytule zawierają cały adres strony, bo na nich mi nie zależy czyli: <a href="http://forum.php.p">http://forum.php.pl</a> i to jest ok, dotyczy tylko podstron mojej domeny. -------------------- Nigdy nie zapominam kliknąć "pomógł". Zastosowanie na stronie [prosze nie spamuj]
|
|
|
24.03.2019, 07:06:10
Post
#6
|
|
Grupa: Zarejestrowani Postów: 6 365 Pomógł: 1114 Dołączył: 30.08.2006 Ostrzeżenie: (0%) |
No ok. Ale w bazie trzymasz html czy tekst? Bo str_replace sugeruje że masz tagi.
-------------------- |
|
|
24.03.2019, 13:04:30
Post
#7
|
|
Grupa: Zarejestrowani Postów: 358 Pomógł: 1 Dołączył: 20.07.2014 Ostrzeżenie: (0%) |
w bazie normalny tekst:
przykład: jakiś tekst https://forum.php.pl dalszy tekst. Nie wiem czy jest jakaś muti funkcja preg na zasadzie, żeby jedno wyrażenie regularne było dla adresu http, a drugie dla tytułu linku, na zasadzie: <a href="$1">$2</a> to rozwiązałoby problem. -------------------- Nigdy nie zapominam kliknąć "pomógł". Zastosowanie na stronie [prosze nie spamuj]
|
|
|
24.03.2019, 13:28:59
Post
#8
|
|
Grupa: Zarejestrowani Postów: 6 365 Pomógł: 1114 Dołączył: 30.08.2006 Ostrzeżenie: (0%) |
No ale skoro link masz a w opisie potrzebujesz tylko ostatni człon to możesz nawet explode i str_replace na ostatnim elemencie explode.
-------------------- |
|
|
24.03.2019, 18:05:44
Post
#9
|
|
Grupa: Zarejestrowani Postów: 8 068 Pomógł: 1414 Dołączył: 26.10.2005 Ostrzeżenie: (0%) |
|
|
|
24.03.2019, 19:22:10
Post
#10
|
|
Grupa: Zarejestrowani Postów: 358 Pomógł: 1 Dołączył: 20.07.2014 Ostrzeżenie: (0%) |
Dziękuje wszystkim, działa. Też kombinowałem z callback, ale nie mogłem załapać zasady działania na przykładach z manuala.
-------------------- Nigdy nie zapominam kliknąć "pomógł". Zastosowanie na stronie [prosze nie spamuj]
|
|
|
Wersja Lo-Fi | Aktualny czas: 25.04.2024 - 18:36 |