preg_replace en zoeken

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Chris

Chris

24/04/2006 03:03:00
Quote Anchor link
2 vragen...

Vraag 1:
stel, ik heb een stukje tekst:
"Adsl-modem
Apparaat dat de adsl-datastroom van een gewone telefoon oppikt en omzet naar (meestal) een usb-signaal. Andersom kan het modem uiteraard ook gegevens op de telefoonlijn plaatsen. De adsl-datastroom bevindt zich buiten het frequentiegebied van gewone spraak, en zal dus niet storen op de telefoon. Wel is een zogeheten splitter nodig die ervoor zorgt dat de 'opgewaardeerde' telefoonlijn bij een adsl-abonnee keurig gesplitst wordt in een laagfrequent 'ouderwets' spraakdeel en een hoogfrequent adsl-signaal."
In dit stukje tekst wil ik elk woord ADSL (met hoofd en of kleine letters) vervangen door <span class='searchlite'>{Hier het woord met de gevonden hoofd en of kleine letters}</span>.
Ik heb het nu wel voor elkaar, maar dan zit ik met het probleem dat als ik zoek op AdSl en in de tekst staat ADSL, dat de ADSL van de tekst ook ineens staat als AdSl. Dat wil ik dus voorkomen.... Kan iemand mij vertellen hoe??

Vraag 2:
Uit een MySqlDatabase wil ik zoeken op het woord ADSL dat in 2 velden kan staan. Het veld Title en het veld Text. In mijn database staat een item met als title ADSL. Met mijn huidige zoekmethode, krijg ik die niet te zien...
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
select * from => ea_encyc_text where title LIKE '%{$word}%' OR text LIKE '%{$word}%'

Dit voer ik dus uit op mijn pagina, maar zie alleen het item waarin ALLEEN adsl als title staat niet te zien. Iemand een idee???
 
PHP hulp

PHP hulp

27/04/2024 04:08:02
 
Kalle P

Kalle P

24/04/2006 03:13:00
Quote Anchor link
Vraag 1:
$woord = strtoupper($woord);
Zet het woord om in hoofdletters.
 
PHP erik

PHP erik

24/04/2006 03:16:00
Quote Anchor link
SELECT * FROM ea_encyc_text WHERE title LIKE '%{$word}%' OR text LIKE '%{$word}%'

(je query klopt dus als het beginstukje enkel ingekort was voor de duidelijkheid)

Maar, "text" is een reserved woord, dus moet je vervangen of tussen backticks zetten.
Gewijzigd op 01/01/1970 01:00:00 door PHP erik
 
Chris

Chris

24/04/2006 04:55:00
Quote Anchor link
Kalle:
Vraag 1:
$woord = strtoupper($woord);
Zet het woord om in hoofdletters.

Nee. dat is niet wat ik zoek. ik bedoel dus, dat als ik zoek op de tekst adsl en in de tekst het staat als AdSl (ff omgedraaid voor de duidelijkheid), dat ik gewoon AdSl wil blijven zien, maar dan met de span-tags er rondomheen...

PHPerik:
SELECT *
Maar, "text" is een reserved woord, dus moet je vervangen of tussen backticks zetten.

ik weet dat text en gereserveerd woord is, dat is het probleem ook niet, want ik krijg dus op een woord (met beschrijving) na alle gegevens zoals ik ze wil hebben. en het gaat mij dus juist om die ene die ik niet krijg...
Gewijzigd op 01/01/1970 01:00:00 door Chris
 
Chris

Chris

25/04/2006 01:29:00
Quote Anchor link
de query is gelukt met
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
select * from ea_encyc_text where MATCH (title,`text`) AGAINST ('{$word}'  IN BOOLEAN MODE) AND approved=1


nu gebruik ik de volgende functie voor het hightliten van de woorden bij het zoeken, maar die vindt nog net niet alles...
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
    function search_result($tekst,$str)
    {
        $replace = strrev($str);
        $tekst = str_replace($str,"<span class='searchlite'>".$replace."</span>",$tekst); // STRING OMDRAAIEN, OMDAT DEZE AND
        $tekst = str_replace($replace,"<span class='searchlite'>".$str."</span>",$tekst);
        return $tekst;
    }

bij beijvoorbeeld deze tekst:
Quote:
ADSL
Staat voor 'Asymmetric Digital Subscriber Line'. Adsl is een technologie voor het op hoge snelheid verzenden van data over de al bestaande telefoonlijnen.De kracht van adsl is dat het de relatieve eenzijdigheid van data-communicatie (zoals bij het browsen op internet) benut; bij de meeste abonnementsvormen is de dataontvangst (downstream) hoger dan de verzendsnelheid (upstream). Nadeel is dat een telefooncentrale eerst geschikt gemaakt moet worden voor adsl, en ook dat de afstand van centrale tot huisaansluiting niet al te groot mag zijn. Daarom zijn sommige plekken nog steeds niet voorzien van adsl. Ofwel de afstand naar de abonnees is te groot, of de belangstelling is te klein waardoor het economisch gezien niet interessant is om een centrale aan te passen.
komt het er zo uit:
Quote:
ADSL
Staat voor 'Asymmetric Digital Subscriber Line'. Adsl is een technologie voor het op hoge snelheid verzenden van data over de al bestaande telefoonlijnen.De kracht van adsl is dat het de relatieve eenzijdigheid van data-communicatie (zoals bij het browsen op internet) benut; bij de meeste abonnementsvormen is de dataontvangst (downstream) hoger dan de verzendsnelheid (upstream). Nadeel is dat een telefooncentrale eerst geschikt gemaakt moet worden voor adsl, en ook dat de afstand van centrale tot huisaansluiting niet al te groot mag zijn. Daarom zijn sommige plekken nog steeds niet voorzien van adsl. Ofwel de afstand naar de abonnees is te groot, of de belangstelling is te klein waardoor het economisch gezien niet interessant is om een centrale aan te passen.
als ik alleen heb gezocht op "adsl", terwijl het er zo uit moet komen:
Quote:
ADSL
Staat voor 'Asymmetric Digital Subscriber Line'. Adsl is een technologie voor het op hoge snelheid verzenden van data over de al bestaande telefoonlijnen.De kracht van adsl is dat het de relatieve eenzijdigheid van data-communicatie (zoals bij het browsen op internet) benut; bij de meeste abonnementsvormen is de dataontvangst (downstream) hoger dan de verzendsnelheid (upstream). Nadeel is dat een telefooncentrale eerst geschikt gemaakt moet worden voor adsl, en ook dat de afstand van centrale tot huisaansluiting niet al te groot mag zijn. Daarom zijn sommige plekken nog steeds niet voorzien van adsl. Ofwel de afstand naar de abonnees is te groot, of de belangstelling is te klein waardoor het economisch gezien niet interessant is om een centrale aan te passen.
Gewijzigd op 01/01/1970 01:00:00 door Chris
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.