Beefy Boxes and Bandwidth Generously Provided by pair Networks
more useful options

Re^2: Regex to match non image urls

by userdefinable (Initiate)
on Jan 18, 2013 at 09:29 UTC ( #1013996=note: print w/replies, xml ) Need Help??

in reply to Re: Regex to match non image urls
in thread Regex to match non image urls

Thanks, not quite sure how to use this in the context of replacing occurrences in a block of text.

Replies are listed 'Best First'.
Re^3: Regex to match non image urls
by userdefinable (Initiate) on Jan 18, 2013 at 09:36 UTC
    Basically this doesn't work:
    $text =~ s~(\[img\]\s*.*?\.(?:jpe?g|png|svg|gif|bmp)\s*\[/img\])~Inval +id~isg;
      You want to use Parse::BBCode, but you could try
      $text =~ s{ \[(\w+)\] # $1 tagname ( .*? ) # $2 stuff \[\/(\w+)\] # $3 tagname }{ TagFudge( $1, $2, $3 ); }gsex; sub TagFudge { my( $open, $content, $close ) = @_; if( $content =~ m{\.(jpe?g|gif|xbm|png|bmp)$} ){ return "Ok"; } else { return "Invalid"; } }
      But you should use Parse::BBCode
        Could't get that to work, it just says everything is invalid.

      "Doesn't work" is not a problem description.

      Are you sure $text is what you think it is? You can try to do a print "\n>$text<\n"; and see if it matches your expectations.

      If $text is what you think it is, then how doesn't it work? What is your input, what is your expected output, what is your actual output? And with "actual output" I also mean warnings and errors. On that topic, is your script running with use strict; use warnings;?

      Right now it's doing the exact opposite of what I want it to!
        Yes, and?

Log In?

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://1013996]
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others scrutinizing the Monastery: (4)
As of 2019-02-17 09:22 GMT
Find Nodes?
    Voting Booth?
    I use postfix dereferencing ...

    Results (96 votes). Check out past polls.