Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> eregi_replace - podkreslenie słowa
casperek
post
Post #1





Grupa: Zarejestrowani
Postów: 10
Pomógł: 0
Dołączył: 25.03.2003

Ostrzeżenie: (0%)
-----


Generalnie chce zrobic aby podkreslalo sie slowo w tekscie ktore zostanie zadane(wybrane w formularzu)

Dane:

Kod
$zmienna='Jakiś FajoSki TeKscik';

print($zmienna);



$to='Fajoski';

$zmienna = eregi_replace($to,"<u>".$to."</u>",$zmienna);

print($zmienna);


Wszystko bylo by ok ale slowo podkreslone bedzie takie samo jak $to czyli slowo zadane (Fajoski) , a ja chce aby te slowo bylo (FajoSki)

Efekt kodu:
Jakiś FajoSki TeKscik
Jakiś <u>Fajoski</u> TeKscik

A chce:
Jakiś FajoSki TeKscik
Jakiś <u>FajoSki</u> TeKscik

Moze ktos ma pomysl jak to rozwiazac ?
Go to the top of the page
+Quote Post
dragossani
post
Post #2





Grupa: Przyjaciele php.pl
Postów: 398
Pomógł: 0
Dołączył: --
Skąd: Poznań

Ostrzeżenie: (0%)
-----


Nie lepiej użyć str_replace()? Dokumentacja twierdzi, że jest binary-safe (nie grzebie w wielkości znaków).


--------------------
cease this long, long rest / wake and risk a foul weakness to live / when it all comes down / watch the smoke and bury the past again / sit and think what will come / raise your fears and cast them all away
Go to the top of the page
+Quote Post
DeyV
post
Post #3





Grupa: Zarząd
Postów: 2 277
Pomógł: 6
Dołączył: 27.12.2002
Skąd: Wołów/Wrocław




Może czegoś nie zrozumiałem, ale od kiedy termin binary-safe ma jakikolwiek związek z wielkościa znaków?
Czy mała i duża litera ma ten sam zapis w postaci binarnej? nieee


--------------------
"Niezależnie od tego, jakie masz osiągnięcia, ktoś Ci pomaga..."
Go to the top of the page
+Quote Post
casperek
post
Post #4





Grupa: Zarejestrowani
Postów: 10
Pomógł: 0
Dołączył: 25.03.2003

Ostrzeżenie: (0%)
-----


Ale to nie jest rozwiazanie mojego problemu, moze ktos ma inny pomysl?
Go to the top of the page
+Quote Post
kicaj
post
Post #5





Grupa: Zarejestrowani
Postów: 1 640
Pomógł: 28
Dołączył: 13.02.2003
Skąd: Międzyrzecz/Poznań

Ostrzeżenie: (0%)
-----


w ciagu 2 tygodni 3x ten sam temat poruszony, ja go zaczelem pod adresem http://www.klub69.pl/~php1/viewtopic.php?t...aaecb2d29bcfc7c


--------------------
PHP Developer

"Nadmiar wiedzy jest równie szkodliwy jak jej brak" Émile Zola
Go to the top of the page
+Quote Post
dragossani
post
Post #6





Grupa: Przyjaciele php.pl
Postów: 398
Pomógł: 0
Dołączył: --
Skąd: Poznań

Ostrzeżenie: (0%)
-----


Cytat
Może czegoś nie zrozumiałem, ale od kiedy termin binary-safe ma jakikolwiek związek z wielkościa znaków? Czy mała i duża litera ma ten sam zapis w postaci binarnej? nieee

"Binary-safe" to oczywiście nie to samo co "case-sensitive" ale jak sam napisałeś, dla funkcji typu "binary-safe" mała i duża litera są dwoma różnymi znakami - efekt jest taki, że string na wyjściu z takiej funkcji nie powinien mieć zmienionej wielkości znaków. Chyba, że czegoś nie rozumiem, to poproszę o oświecenie.


--------------------
cease this long, long rest / wake and risk a foul weakness to live / when it all comes down / watch the smoke and bury the past again / sit and think what will come / raise your fears and cast them all away
Go to the top of the page
+Quote Post
DeyV
post
Post #7





Grupa: Zarząd
Postów: 2 277
Pomógł: 6
Dołączył: 27.12.2002
Skąd: Wołów/Wrocław




oczywiście że masz rację, z tym wyjatkiem że:
1. str_replace jest "case-sensitive"
2. w topicu nie chodziło o to, by rozpoznać wystąpienie danego tekstu, nizależnie od formy, w jakiej został napisany, lecz by po zamianie ten tekst nadal taki był. Niestety, ale chyba nie jest to możliwe. Większość funkcji pod jakis tekst podstawia podany przez nas tekst, z naszymi wielkościami znaków.
No, może przy pomocy w.r. coś by sie dało, ale nie wiem jak się za to zabrać.


--------------------
"Niezależnie od tego, jakie masz osiągnięcia, ktoś Ci pomaga..."
Go to the top of the page
+Quote Post
scanner
post
Post #8





Grupa: Zarząd
Postów: 3 503
Pomógł: 28
Dołączył: 17.10.2002
Skąd: Wrocław




A może by tak metodą czołgową sprawdzić źródełka tego forum? Przy opcji szukania skrypt zaznacza wyszukiwane frazy tongue.gif


--------------------
scanner.info
Warto pamiętać: KISS, DRY
Go to the top of the page
+Quote Post
DeyV
post
Post #9





Grupa: Zarząd
Postów: 2 277
Pomógł: 6
Dołączył: 27.12.2002
Skąd: Wołów/Wrocław




A rzeczywiście...

tylko bądź tu mądry i wykorzystaj ten kod. Moja znajomość w.r chyba nie wystarcza.
Kod
function phpbb_preg_quote($str, $delimiter)

{

    $text = preg_quote($str);

    $text = str_replace($delimiter, '' . $delimiter, $text);

    

    return $text;

}





//

// Was a highlight request part of the URI?

//

$highlight_match = $highlight = '';

if (isset($HTTP_GET_VARS['highlight']))

{

    // Split words and phrases

    $words = explode(' ', trim(htmlspecialchars(urldecode($HTTP_GET_VARS['highlight']))));



    for($i = 0; $i < sizeof($words); $i++)

    {

  if (trim($words[$i]) != '')

  {

     $highlight_match .= (($highlight_match != '') ? '|' : '') . str_replace('*', 'w*', phpbb_preg_quote($words[$i], '#'));

  }

    }

    unset($words);



    $highlight = urlencode($HTTP_GET_VARS['highlight']);

}





    //

    // Highlight active words (primarily for search)

    //

    if ($highlight_match)

    {

  // This was shamelessly 'borrowed' from volker at multiartstudio dot de

  // via php.net's annotated manual

  $message = str_replace('"', '"', substr(preg_replace('#(>(((?>([^><]+|(?R)))*)<))#se', "preg_replace('#b(" . $highlight_match . ")b#i', '<span style="color:#" . $theme['fontcolor3'] . ""><b>1</b></span>', '0')", '>' . $message . '<'), 1, -1));

    }

To chyba cały kod, za to odpowiedzialny sad.gif


--------------------
"Niezależnie od tego, jakie masz osiągnięcia, ktoś Ci pomaga..."
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 22.08.2025 - 01:02