![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 362 Pomógł: 0 Dołączył: 18.02.2004 Skąd: Knurów Ostrzeżenie: (0%) ![]() ![]() |
Pisze moją stronę zgodnie z XHTML 1.0 Transitional, co nie pozwala mi używać linków tej postaci: ?id=1&id2=2 natomiast należy je zastępować takimi: ?id=1&id2=2. A teraz pytanie. Jak napisać kod który zamienia znak & na & ale tylko w obrębie znacznika <a> a dokładniej w polu href ? Bo mam np. taki kod:
Kod <a href="?id=1&id2=2">アニメ (ア ニ メ)</a> [w nawiasie jest forma ASCII bez średników aby forum tego nie zamieniło ]
A powinno to zamienić na: Kod <a href="?id=1&id2=2">アニメ (ア ニ メ)</a> [w nawiasie jest forma ASCII bez średników aby forum tego nie zamieniło ]
Z góry dziękuję za pomoc. |
|
|
![]()
Post
#2
|
|
Grupa: Przyjaciele php.pl Postów: 660 Pomógł: 0 Dołączył: 28.08.2002 Skąd: Starachowice Ostrzeżenie: (0%) ![]() ![]() |
Może tak:
[php:1:014571b0bb]<?php $str = '<a href="?id=1&id2=2">?(IMG:http://forum.php.pl/style_emoticons/default/questionmark.gif) (ア ニ メ)</a>'; $str = preg_replace( '/(<a .*?>)/ise', 'str_replace("&", "&", "1");', $str ); echo( $str ); ?>[/php:1:014571b0bb] |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 362 Pomógł: 0 Dołączył: 18.02.2004 Skąd: Knurów Ostrzeżenie: (0%) ![]() ![]() |
Dzieki, działa, ale trochę się pomyliłem w założeniach. Teraz, jeśli możesz pomóc przydałby mi się kod który zamieni wszystkie & na & ale nie zamieni takich po których występuje # i cyfry, np.
ア |
|
|
![]()
Post
#4
|
|
Grupa: Przyjaciele php.pl Postów: 660 Pomógł: 0 Dołączył: 28.08.2002 Skąd: Starachowice Ostrzeżenie: (0%) ![]() ![]() |
Jeżeli dobrze zrozumiałem, to to powinno załatwić sprawę:
[php:1:9632866916]<?php $str = preg_replace( '/(<a .*?>)/ise', 'preg_replace("/&+([^#0-9])/", "&$1", "1");', $str ); ?>[/php:1:9632866916] |
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 362 Pomógł: 0 Dołączył: 18.02.2004 Skąd: Knurów Ostrzeżenie: (0%) ![]() ![]() |
Trochę nie o to chodziło, bo to juz nie miało być tylko w obrębie <a>
Ale kod już przerobiłem sam: [php:1:5696df3118] <? $str = preg_replace("/&+([^#0-9])/", "&$1",$str); ?> [/php:1:5696df3118] I przy okazji mam pytanie: Jak wyrzucić określone znaki w obrębie znacznika? Albo lepiej zamienić je na inne ? Bo mam takie coś: Kod [ulist]
[ * ] test [ * ] test [/ulist] Mój skrypt zamieni to na takie coś: Kod <ul>
<li>test<br /> <li>test<br /> </ul> A jak należy zrobić aby kod wyjściowy wyglądał tak: Kod <ul>
<li>test</li> <li>test</li> </ul> (IMG:http://forum.php.pl/style_emoticons/default/questionmark.gif) |
|
|
![]()
Post
#6
|
|
Grupa: Zarejestrowani Postów: 362 Pomógł: 0 Dołączył: 18.02.2004 Skąd: Knurów Ostrzeżenie: (0%) ![]() ![]() |
Nikt nie wie jak rozwiązac mój problem ?
|
|
|
![]()
Post
#7
|
|
Grupa: Przyjaciele php.pl Postów: 660 Pomógł: 0 Dołączył: 28.08.2002 Skąd: Starachowice Ostrzeżenie: (0%) ![]() ![]() |
[php:1:d52feef492]<?php
$str = "[ulist] [ * ] test [ * ] test [/ulist]"; $str = preg_replace( "/[ulist](.*?)[/ulist]/ise", 'preg_replace( "/[ * ] (.*?)rn/is", "<li>$1</li>rn", "<ul>1</ul>")', $str ); ?>[/php:1:d52feef492] Tylko, że to tyczy się tego konkretnego przykładu. |
|
|
![]() ![]() |
![]() |
Aktualny czas: 14.09.2025 - 18:45 |