[asp][wml] In php doe ik str_replace

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

  • grolle
  • Registratie: Oktober 2001
  • Laatst online: 15-09 10:26
[asp][wml] In php doe ik str_replace
Wat een mooie naam voor dit topic ;)

Waar gaat het allemaal om:
  • Gastenboek beschikbaar maken voor WAP
  • Gastenboek is geschreven in ASP
  • Gasten boek is geschreven door iemand anders (niet berijkbaar op dit momment)
  • Ik heb geen ervaring met ASP
  • www.w3schools.com/wap heeft me gisteren alles geleerd over WML/XML
  • Wel ervaring met PHP
Dus door de ervaring met PHP was het ook niet al te moeilijk om het gedeelte wat ASP door geeft aan de browser van HTML te veranderen in WML/XML.
Dat gaat allemaal goed. En zeer trots zat ik met mijn T68i op de bank ons gasten boek te lezen 8)

TOTDAT iemand een smilie plaatste. Tja dat zijn nauw eenmaal gifjes en die doen het niet met WAP. Dus dan moet ik toch maar gaan sleutelen in de ASP
Ik moet dus de
code:
1
[img]/smilie/smile.gif[/img] Weer omzetten naar ;-)


In php zou ik dat doen met str_replace:
code:
1
$bericht = str_replace ("[img]\"img/smilies/smile.gif\"[/img]", ":)", $bericht);


Maar ff een beetje PHP door ASP heen knallen zal wel niet gaan dus we gaan het GOT op en ff een search naar replace. 298 Topics gevonden. Dus alle die met ASP te maken hebben doorgelzen (voor zover intresant) en daar vond ik het volgende:
code:
1
stringnaam = replace(stringnaam, "Wat je wil veranderen", "Veranderen in")



Dus ik probeer:
Bericht = replace(Bericht, "<img","[img])
Dat is natuurlijk niet echt mooi omdat je dan dus [img]/smilies/smile.gif> op je Mobiel te zien krijg. Maar dan laad de pagina in iedergeval weer. En daar gaat het (om te beginnen) om.

Maar het werkt niet. Het zal er aan liggen dat hij de string naam niet herkent. Denk ik. Want de output is gewoon <img bla bla en niet [img]

Hij haalt alles uit een DB
Dus ik probeer ook
RSBericht.Fields("Bericht") = replace(RSBericht.Fields("Bericht"),"<img","[img])

Wat ik eigenlijk gewoon probeer te vragen is:
Wat is de string naam van RSBericht.Fields("Bericht") die ik kan gebruiken voor replace

Ook nog ff het stukkie ASP waar het om draaid
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
<%


' Openen van het component en ophalen Berichten

Set RSBericht = Server.CreateObject("ADODB.Recordset")

Set oBericht = Server.CreateObject("BerichtComponent.Bericht")

Set RSBericht = oBericht.ShowAll("1")



'Aantal berichten per pagina

RSBericht.PageSize = 4



'Controle op eerste bericht

If RSBericht.EOF = false Then



RSBericht.AbsolutePage = CLng(Session("CurrentPage"))

%>  <p>
   <a href="WapNieuw.wml">nieuw bericht</a><br/>
  </p><%

'Loop door alle berichten voor deze pagina heen

Dim i

For i = 1 To RSBericht.PageSize

%>  <p>
   <a href="mailto:<%=RSBericht.Fields("Email")%>"><%=RSBericht.Fields("Naam")%> </a> 
   <a href="wapToonBericht.asp?BerichtID=<%=RSBericht.Fields("BerichtID")%>"> 

INFO</a>
   <br/>
   <%=RSBericht.Fields("Bericht")%>
   <br/>
  </p><%


Heb ik iets niet goed uit gelegd of snap je nog niet wat ik bedoel. Ik wil het best nog een keer uitleggen

Acties:
  • 0 Henk 'm!

  • Phenomenon
  • Registratie: December 2000
  • Laatst online: 08:20
Probeer je nu niet gewoon de waarde uit de database te laten tonen i.p.v. de variabele bericht?

Je moet eerst dus ff variabele 'Bericht' vullen met RsBericht.Fields("Bericht")
ASP:
1
2
3
4
5
Dim Bericht 
Bericht = RsBericht.Fields("Bericht")
Response.Write Bericht
Bericht = Replace(bericht, "<img", "[Img]")
Repsonse.Write Bericht

Acties:
  • 0 Henk 'm!

  • Janoz
  • Registratie: Oktober 2000
  • Laatst online: 16-09 09:15

Janoz

Moderator Devschuur®

!litemod

RSBericht.Fields("Bericht") is een methode en geen var. Iets eraan toekennen is dus eigenlijk dikke onzin. Vreemd dat ASP je niet met allemaal error's om de oren smijt. In principe is het niet moeilijk en als je een beetje php kent moet dit je ook niet moeilijk af gaan.

Kijk nog eens ff goed naar hoe het bericht in de pagina wordt geplaatst. de <%= tag is hetzelfde als <?= (of < echo ). Samen met het feit dat je de replace funtie wel goed gebruikt (maar vervolgens erg fout aan een methode toekent) zou je er denk ik wel uit moeten komen :)

Ken Thompson's famous line from V6 UNIX is equaly applicable to this post:
'You are not expected to understand this'


Acties:
  • 0 Henk 'm!

  • grolle
  • Registratie: Oktober 2001
  • Laatst online: 15-09 10:26
Tuurlijk, In ASP moet je een variabele eerst toekennen
Dus:
ASP:
1
2
Dim Bericht
Bericht = Bla bla bla


Terwijl je in PHP gewoon metteen van wal kunt:
PHP:
1
$bericht= Bla bla bla;


Bedank voor de reacties Janoz en Supervisor

Acties:
  • 0 Henk 'm!

  • gorgi_19
  • Registratie: Mei 2002
  • Laatst online: 17:06

gorgi_19

Kruimeltjes zijn weer op :9

Dat gaat alleen op je je Option Explicit aan hebt staan, anders hoeft regel 1 niet.

Digitaal onderwijsmateriaal, leermateriaal voor hbo