Permalänk
Medlem

Att byta ut tecken mot kod?

Så här ligger det till. Jag har en sida som gör en server query.
Vilket i sin tur presenteras på ett fint sätt i tabeller.

Problemet är att texten som presenteras ibland innehåller
tecken som "" eller " " Jag vill byta ut dessa mot kod,
så att den följande texten formateras med en förutbestämd
färg.

tex
texthär merasånt

skulle bli

texthär merasånt

Queryn är i PHP

Så hur gör en stackare för att uppnå sina drömmar?

Visa signatur

oooh yeah that's the spot !!!

Permalänk
Medlem

$x = array("" ,"")"
$y = array("<font color=\"red\">", "<font color=\"blue\">");

$text = str_replace($x, $y, $text);

?

Visa signatur

I just love the fact that there is a global integer variable named 'i'. Just think, you will never need to declare your loop variable again!
To avoid collisions where a loop that uses 'i' calls another function that loops with 'i', be sure to stack 'i' and restore it when your function exits.

Permalänk
Medlem

Jag måste nog erkänna att jag inte blev mycket kloakare av det där.
Och att jag var nog lite luddig igår natt när jag skrev detta.
Vore tacksam för ett exempel på hur man använder det också.

Såhär kan en cell ut:

."<td width='140' height='5' background='golden/bg.gif'>" ."<font size='1' face='Arial, Helvetica, sans-serif'>" ."<strong>" .($data[$server_id]['hostname']) ."</strong>" ."</font>" ."</td>"

Kanske inte det finaste men vi måste alla börja nånstans.

.($data[$server_id]['hostname']) ger mig tex följande "srv1 www.server.com"

Hur ska jag då anv. det ovanstående för att få outputten att se ut så här:
srv1 www.server.com

Det finns ca 20 olika tecken som skall bearbetas så här.

Visa signatur

oooh yeah that's the spot !!!

Permalänk
Medlem

slå upp funktionen str_replace i php manualen.
http://www.php.net/str_replace/

Permalänk
Medlem

Jodå, jag har försökt men får det inte att fungera som jag vill.
Förmodligen är det jag som är outbildad, men så är det.

Jag har börjat titta på om man inte kan fixa detta genom javascript. Och kommit fram till följande.

<script language="JavaScript" type="text/javascript"> var range = document.body.createTextRange(); range.collapse(true); while (range.findText("sökord")) { range.text="byttilldethär"; range.collapse(false); } </script>

Med den scripten kan jag byta ut tecknet mot annan text. Dock inte mot kod, så
att den följande texten formateras tex röd.

Så hur gör djur?

Det måste finnas nån god sinnad guru här som kan hjälpa mig.

Visa signatur

oooh yeah that's the spot !!!

Permalänk
Medlem
Citat:

Ursprungligen inskrivet av Kârhü
Jodå, jag har försökt men får det inte att fungera som jag vill.
Förmodligen är det jag som är outbildad, men så är det.

...

Så hur gör djur?

Det måste finnas nån god sinnad guru här som kan hjälpa mig.

Du har redan fått svaret i och med myris inlägg, som vi repriserar för säkerhets skull:

Citat:

Ursprungligen inskrivet av Myris
$x = array("" ,"")"
$y = array("<font color=\"red\">", "<font color=\"blue\">");

$text = str_replace($x, $y, $text);

?

Det du vill göra är att ta texten som du har i en variabel:

$text = "Bla bla bla kolja gol gol gol";

... leta efter saker som finns i den och byta ut dem mot nåt annat:

$ny_text = str_replace('kolja', '<b>fisk</b>', $text);

Detta anrop av str_replace() får till följd att $ny_text innehåller:

Bla bla bla <b>fisk</b> gol gol gol

Kommer vi närmare lösningen?

$res = mysql_query(SELECT text FROM lala WHERE id = 'boll'); $row = mysql_fetch_assoc($res); $ny_text = str_replace("mystiskt tecken", '<font color="röv">mystiskt tecken</font>', $row['text']); echo 'BOLL FÖR FAN: '. $ny_text;

Enda problemet med at sno myris exempel rakt av är att font-taggarna inte stängs. Om man ska vara riktigt smidig så ska man använda reguljära uttryck till den här sortens övningar, men det får du nog vänta lite med.

Visa signatur

Brass knuckles and a 2x4

Permalänk

font-taggen är deprecated, använd span istället:
<font color=foo> -> <span style="color: foo">
Eller

<style>
.chartype1 {color: foo}
</style>
</head>
<body>
<div>
<span class="chartype1">char</span>

Visa signatur

Python-IRC på svenska: #python.se

Permalänk
Medlem

Det där med PHP kommer nog inte att fungera för mina ändamål har
jag kommit fram till. Det smidigaste vore om jag kunde med javacsript
(se ovan) kunna söka outputten och ersätta det som behövs.

så om det finns någon som kan hjälpa mig med det vore jag tacksam.

Om ni undrar varför inte PHP. Så är det så att queryn kan användas för
många olika slags servers, så istället för att ändra för varje i query typ. Är
det inte enklare att ha en javascript, som kollar genom outputten på de
som det behövs på?

Visa signatur

oooh yeah that's the spot !!!

Permalänk
Medlem

Det är lite svårt att förstå vad du menar när du uttrycker dig så, du utelämnar massa information.

spalta upp det åt oss så blir det lättare. Det låter nästan som om du försöker använda ord du inte behärskar. Förklara på ren svenska vad det verkligen är vad du vill göra, numrera gärna stegen.

Visa signatur

Brass knuckles and a 2x4