Toon posts:

gathering.tweakers.net.... met replace scripts?

Pagina: 1
Acties:
  • 84 views sinds 30-01-2008

Verwijderd

Topicstarter
Ik vroeg me eigenlijk af of al die opties zoals die smiles en blokhaakjes zooi allemaal met een replace script vervangen worden? op dit forum dan. want zo doe ik het wel met mijn forum (maar dies van asp)

gewoon zo maar een vraagje dus...

Verwijderd

Niet met replace maar reguliere expressies.

Verwijderd

Topicstarter
hmm interresant.. heb je daar een mooi voorbeeld van?

Verwijderd

Op vrijdag 26 januari 2001 17:00 schreef DevDesigner het volgende:
hmm interresant.. heb je daar een mooi voorbeeld van?
Je bedoelt kant en klare code zodat je die kan cut-en-paste'en naar je eigen forum? :Z

Nee, maar je kan natuurlijk zo'n gratis forum downloaden waarin dergelijke funktionaliteit zit, en het daaruit slopen. Beetje meer werk, maar werkt net zo goed en is misschien nog wel leerzaam ook.

Succes :)

Verwijderd

voor PHP

$string = substr_replace("[b]", "<b>",$string);

of

$string = ereg_replace("[b]", "<b>",$string);

of

$string = eregi_replace("[b]", "<b>",$string);

of

$string = replace("[b]", "<b>",$string);

of

$string = preg_replace("[b]", "<b>",$string);

alles met zijn voordelen en nadelen, zoek maar even wat meer info erover op PHP.net

  • DPLuS
  • Registratie: April 2000
  • Niet online

DPLuS

 

Misschien kun je hier ook iets mee...
PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
<?
&amp;lt;?
$text = eregi_replace("(^|[ \n\r\t])((http(s?)://)(www\.)?([a-z0-9_-]+(\.[a-z0-9_-]+)+)(/[^/ \n\r]*)*)","\\1[url=\"\\2\]\\2[/url]",$text); 
//Hier worden alle [url=http://]http://[/url] texten aanklikbare links. 
$text = eregi_replace("(^|[ \n\r\t])((ftp://)(www\.)?([a-z0-9_-]+(\.[a-z0-9_-]+)+)(/[^/ \n\r]*)*)","\\1[url=\"\\2\]\\2[/url]",$text); 
//Hier worden alle [url=ftp://]ftp://[/url] texten aanklikbare links. 
$text = eregi_replace("([a-z_-][a-z0-9\._-]*@[a-z0-9_-]+(\.[a-z0-9_-]+)+)","[url=mailto:\\1&amp;gt;\\1&amp;lt;/a&amp;gt;",$text); 
//Hier worden e-mail adressen aanklikbaar 
$text = eregi_replace("(^|[ \n\r\t])(www\.([a-z0-9_-]+(\.[a-z0-9_-]+)+)(/[^/ \n\r]*)*)","\\1&amp;lt;a href=\"http://\\2\]\\2[/url]",$text); 
//Als iemand de [url=http://]http://[/url] vergeet en met www. begint wordt automatisch [url=http://]http://[/url] toegevoegd en aanklikbaar gemaakt.
$text = eregi_replace("(^|[ \n\r\t])(ftp\.([a-z0-9_-]+(\.[a-z0-9_-]+)+)(/[^/ \n\r]*)*)","\\1[url=\"ftp://\\2\]\\2[/url]",$text);
?&amp;gt;
?>

edit:
Waar zijn die mooie php-code-kleurtjes gebleven????


[edit2]Idd, php ipv code :) [/edit2]

  • GX
  • Registratie: Augustus 2000
  • Laatst online: 14-05-2025

GX

Nee.

Op vrijdag 26 januari 2001 18:13 schreef DPLuS het volgende:
Misschien kun je hier ook iets mee...
code:
1
blaat

edit:
Waar zijn die mooie php-code-kleurtjes gebleven????
misschien als je [php] ipv [code] gebruikt :)

  • RobzQ
  • Registratie: Februari 2000
  • Laatst online: 21-12-2020

RobzQ

greedy as a pig

Hoe je dat dan met:

[img ]plaatje.jpg [/ img]
[img]"plaatje.jpg"[/img] (In HTML)

De ene kant op (van [img] naar <img> ) lijkt me nog wel te doen, maar de andere kant op?

<img=> naar [img] ?

Of sla je in [img] in de db ipv <img=> ??

..so be wary of any man who keeps a pig farm..


  • Crazy D
  • Registratie: Augustus 2000
  • Laatst online: 17-09 08:12

Crazy D

I think we should take a look.

Ik zou het pas replacen bij het tonen op het scherm. Anders kun je in de problemen komen met de maxlengte in je database.

edit:

Het wordt dan trouwens ook lastig als je de optie hebt msg's te editten (als de codes al gereplaced in de db zitten.

Exact expert nodig?


Verwijderd

UBB code is hier al regelmatig voor bij gekomen, er is een thread waar hij helemaal in zit, van [b] tot [quote] van [url] tot [img]

  • Ritch
  • Registratie: December 1999
  • Laatst online: 28-08 17:03
Hier heb je de code voor de [b] tags, de rest moet je zelf wel kunnen verzinnen:
PHP:
1
2
3
4
5
<?
&amp;lt;?
$string = preg_replace("/(\\[b\])(.*)(\\[\/b\])/U","&amp;lt;b&amp;gt;\\2&amp;lt;/b&amp;gt;", $string);
?&amp;gt;
?>

edit:

ik zal hem ook nog ff duidelijk neer gooien omdat die [php] code niet echt geweldig werkt:
[code]$string = preg_replace("/(\\[b\])(.*)(\\[\/b\])/U","\\2", $string);[/code]

Verwijderd

Regular expressions heb je ook in asp,
moet je even bij msdn zoeken.
let wel op in welke taal je het doet, ze zijn namelijk in vbscript iets langzamer dan in jscript (neem aan dat je asp in vbscript is)

verkijk je er echter niet op, het is best lastig om het toepassen ervan onder de knie te krijgen als je er net mee begint.


hier heb je en simpel voorbeeldje in vbscript:

Public Function IsValidEmail(ByVal strEmail)
Dim objRe, bln
Set objRe = New RegExp
objRe.pattern = "^\w+@[a-zA-Z_]+?\.[a-zA-Z]{2,3}$"
bln = objRe.Test(strEmail)
Set objRe = Nothing
IsValidEmail = bln
End Function

zoek anders ook even met google ofzo, voorbeeldjes genoeg te vinden op internet.

Verwijderd

Description
Special characters and sequences are used in writing patterns for regular expressions. The following table describes these characters and includes short examples showing how the characters are used.
Character Description
\ Marks the next character as either a special character or a literal. For example, "n" matches the character "n". "\n" matches a newline character. The sequence "\\" matches "\" and "\(" matches "(".
^ Matches the beginning of input.
$ Matches the end of input.
* Matches the preceding character zero or more times. For example, "zo*" matches either "z" or "zoo".
+ Matches the preceding character one or more times. For example, "zo+" matches "zoo" but not "z".
? Matches the preceding character zero or one time. For example, "a?ve?" matches the "ve" in "never".
. Matches any single character except a newline character.
(pattern) Matches pattern and remembers the match. The matched substring can be retrieved from the resulting Matches collection, using Item [0]...[n]. To match parentheses characters ( ), use "\(" or "\)".
x|y Matches either x or y. For example, "z|food" matches "z" or "food". "(z|f)ood" matches "zoo" or "food".
{n} n is a nonnegative integer. Matches exactly n times. For example, "o{2}" does not match the "o" in "Bob," but matches the first two o's in "foooood".
{n,} n is a nonnegative integer. Matches at least n times. For example, "o{2,}" does not match the "o" in "Bob" and matches all the o's in "foooood". "o{1,}" is equivalent to "o+". "o{0,}" is equivalent to "o*".
{n,m} m and n are nonnegative integers. Matches at least n and at most m times. For example, "o{1,3}" matches the first three o's in "fooooood". "o{0,1}" is equivalent to "o?".
[xyz] A character set. Matches any one of the enclosed characters. For example, "[abc]" matches the "a" in "plain".
[^xyz] A negative character set. Matches any character not enclosed. For example, "[^abc]" matches the "p" in "plain".
[a-z] A range of characters. Matches any character in the specified range. For example, "[a-z]" matches any lowercase alphabetic character in the range "a" through "z".
[^m-z] A negative range characters. Matches any character not in the specified range. For example, "[m-z]" matches any character not in the range "m" through "z".
\b Matches a word boundary, that is, the position between a word and a space. For example, "er\b" matches the "er" in "never" but not the "er" in "verb".
\B Matches a nonword boundary. "ea*r\B" matches the "ear" in "never early".
\d Matches a digit character. Equivalent to [0-9].
\D Matches a nondigit character. Equivalent to [^0-9].
\f Matches a form-feed character.
\n Matches a newline character.
\r Matches a carriage return character.
\s Matches any white space including space, tab, form-feed, etc. Equivalent to "[ \f\n\r\t\v]".
\S Matches any nonwhite space character. Equivalent to "[^ \f\n\r\t\v]".
\t Matches a tab character.
\v Matches a vertical tab character.
\w Matches any word character including underscore. Equivalent to "[A-Za-z0-9_]".
\W Matches any nonword character. Equivalent to "[^A-Za-z0-9_]".
\num Matches num, where num is a positive integer. A reference back to remembered matches. For example, "(.)\1" matches two consecutive identical characters.
\n Matches n, where n is an octal escape value. Octal escape values must be 1, 2, or 3 digits long. For example, "\11" and "\011" both match a tab character. "\0011" is the equivalent of "\001" & "1". Octal escape values must not exceed 256. If they do, only the first two digits comprise the expression. Allows ASCII codes to be used in regular expressions.
\xn Matches n, where n is a hexadecimal escape value. Hexadecimal escape values must be exactly two digits long. For example, "\x41" matches "A". "\x041" is equivalent to "\x04" & "1". Allows ASCII codes to be used in regular expressions.

Verwijderd

Op zaterdag 27 januari 2001 01:45 schreef Crazy_D het volgende:
Ik zou het pas replacen bij het tonen op het scherm. Anders kun je in de problemen komen met de maxlengte in je database.

edit:

Het wordt dan trouwens ook lastig als je de optie hebt msg's te editten (als de codes al gereplaced in de db zitten.
Ik zou het juist doen voordat het in de database wordt gegooid, want anders moet het steeds omgezet worden als je het uit je database trekt -> veel serverload. Je kunt het dan beter terug regexen op het moment dat iemand gaat editten.

Verwijderd

He, dat werkt leuk, dat smilies invoegen met eregi_replace:)
Ik ben een met PHP een erge newby, maar maak wel eens wat eenvoudige dingen.
Kijk hier voor een gastenboekkie, waar je smilies in kan gebruiken.
http://212.120.121.84/guest/guestbook.php?gn=Dave
Maar nu ff een vraagje, hoe kan ik : ( gebruiken (dus zonder spaties)?
Ik krijg dan een error, maar bij : ) | ; ) gaat het wel goed.

  • tomato
  • Registratie: November 1999
  • Niet online
Op zondag 28 januari 2001 14:38 schreef NvidiaGebruiker het volgende:
He, dat werkt leuk, dat smilies invoegen met eregi_replace:)
Ik ben een met PHP een erge newby, maar maak wel eens wat eenvoudige dingen.
Kijk hier voor een gastenboekkie, waar je smilies in kan gebruiken.
http://212.120.121.84/guest/guestbook.php?gn=Dave
Maar nu ff een vraagje, hoe kan ik : ( gebruiken (dus zonder spaties)?
Ik krijg dan een error, maar bij : ) | ; ) gaat het wel goed.
Voor simpele smiley replaces waarbij je dus geen regex gebruikt kun je beter str_replace() gebruiken ipv ereg(i)_replace() (in PHP, that is).

  • tomato
  • Registratie: November 1999
  • Niet online
Op zaterdag 27 januari 2001 23:22 schreef RobinVR het volgende:

[..]
Ik zou het juist doen voordat het in de database wordt gegooid, want anders moet het steeds omgezet worden als je het uit je database trekt -> veel serverload. Je kunt het dan beter terug regexen op het moment dat iemand gaat editten.
Cool, moet je eens wat topics proberen op te zoeken in de search. Krijg je leuke discussies (ik vind het omzetten bij het tonen overigens een mooiere oplossing, maar misschien iets te idealistisch als je echt miljoenen pageviews hebt) :7.

  • Mister_X
  • Registratie: Februari 2000
  • Laatst online: 16-09 11:38
ik voer de gegevens dubbel in, 1 keer geparsed, 1 keer niet-geparsed,

voor quoten vraagt ie niet geparsed voor editten ook. sim pel.

  • chem
  • Registratie: Oktober 2000
  • Laatst online: 27-08 13:53

chem

Reist de wereld rond

oude topics omhoog trekken heeft niet veel zin :?

Klaar voor een nieuwe uitdaging.

Pagina: 1

Dit topic is gesloten.