aan alle goede dingen komt een eind, webmasterplein.net 2003 - 2013
wij danken jullie voor al mooie momenten die dankzij dit forum ontstonden - Derk, Rutger en Stef

Voor nieuw onderdeel op zoek naar scripters!

Geen site kan zonder feedback, wees zo vrij en geef je tips, foutjes, verbeteringen aan in dit forum!

Re: Voor nieuw onderdeel op zoek naar scripters!

Berichtdoor libia » 01 nov 2008 17:12

Derk schreef:dan zie je ook dat je try en catch blok afgevangen wordt door phpbb in plaats van door je catch.

hoe bedoel je?

en hoe moet het resultaat precies worden weergeven?

edit ik heb het nu zo (maar dan neemt het wel veel ruimte in beslag):
Code: Selecteer alles
0    0 class="main"
   1 href="mijnsite"
   2 id=5
   3 height=200
   4 width="100"
   5 src="plaatje"

1    0 class
   1 href
   2 id
   3 height
   4 width
   5 src

2    0 "main"
   1 "mijnsite"
   2 5
   3 200
   4 "100"
   5 "plaatje"

3    0 main
   1 mijnsite
   2
   3
   4 100
   5 plaatje

4    0
   1
   2 5
   3 200
   4
   5


edit2 dat die 0 steeds verder zit, dat licht aan phpbb ;)
Avatar gebruiker
libia
wmpr
 
Berichten: 4149
Geregistreerd: 23 okt 2005 14:14
Woonplaats: Alphe!!

Re: Voor nieuw onderdeel op zoek naar scripters!

Berichtdoor libia » 01 nov 2008 21:01

okee ik heb nu dit in elkaar geknutseld:

Code: Selecteer alles
        case 'regex':

            $p_title = 'RegEx Tester';

            $submit    = request_var('submit', false);
         $uitkomst = request_var('uitkomst', '');
            $type    = request_var('type', 'eregi');
            $regex    = request_var('regex', '');
            $string    = request_var('string', '');

            if (empty($regex) || empty($string))
            {
                $answer = 'Geen reguliere expressie aangetroffen. Jeetje.';
            }
            else
            {
                try
                {
                    $match = ($type == 'eregi') ? eregi($regex, $string, $result) : preg_match($regex, $string, $result);
                    $answer = 'De regex <strong>matcht' . ($match ? '' : 'niet') . '</strong> met de string';
               if($uitkomst == 'yes')
               {
                  $answer .= '<br />';
                  $answer .= dig($result);
               }
                }
                catch (Exception $e)
                {
                    $answer = 'Fout in regex: <strong>' . $e->getMessage() . '<br />' . "\r\n";
                }
            }

            $template->assign_vars(array(
                'REGEX'        => $regex,
                'STRING'    => $string,

                'SUBMIT'    => $submit,
                'UITKOMST'    => $answer,
                'TYPE'        => $type,
            ));

        break;

en deze functie (je moet zelf maar kijken waar je die het liefst wilt)
Code: Selecteer alles
function dig($array, $tabs = 0)
{
   $return = "";
   
   foreach($array as $a => $b)
   {
      for($i = 0; $i < $tabs; $i++)
         $return .= "\t";
      $return .= $a . ' ';
      if(is_array($b))
      {
         $return .= dig($b, $tabs+1);
      }
      else
      {
         $return .= $b;
      }
      $return .= '<br />';
   }
   
   return $return;
}


en dit voor de template:
Code: Selecteer alles
<!-- ELSEIF MODE == "regex" -->
<h2>RegEx Tester</h2>
<p>&#8249; <a href="http://webmasterplein.net/tools">Toolsoverzicht</a><br />Gebruik dit middel om jouw <em>reguliere expressie</em> gemakkelijk te controleren met <a href="http://nl3.php.net/eregi">eregi</a> of <a href="http://nl3.php.net/preg_match">preg_match</a>.</p>

<script type="text/javascript">
function voorbeeld(el)
{
  var eregiBericht = "<b>Eregi voorbeelden</b><br /><i>abc</i> - ablslk<u>abc</u>lsl - <b>Matcht</b><br /><i>abc</i> - cba - <b>Matcht niet</b>";
  var pregMatchBericht = "<b>Preg_match voorbeelden</b><br /><i>/[a-z]/</i> - <u>a</u>083>_&amp;<u>b</u> - <b>Matcht</b><br /><i>/[a-z]/</i> - A083>_&amp;B - <b>Matcht niet</b><br /><i>/[a-z]/i</i> - <u>A</u>083>_&amp;<u>B</u> - <b>Matcht</b>";
  var errorBericht = "Helaas,<br />De eigenaar van deze site heeft een fout gemaakt in het gebruiken van de functie voorbeeld.<br />Neem contact op met de eigenaar.";
  if(el.value == "eregi")
  {
    document.getElementById('voorbeeld').innerHTML = eregiBericht;
  }
  else if(el.value == "preg_match")
  {
    document.getElementById('voorbeeld').innerHTML = pregMatchBericht;
  }
  else
  {
    document.getElementById('voorbeeld').innerHTML = errorBericht;
  }
}

</script>

<!-- IF SUBMIT -->
<label for="value"><strong>Uitkomst:</strong></label>
<p>{UITKOMST}</p>
<!-- ENDIF -->

<form method="post" action="http://webmasterplein.net/tools/regex">
      <fieldset>
        <input type="radio" name="type" id="eregi" value="eregi" onfocus="voorbeeld(this)" <!-- IF TYPE == "eregi" -->checked="checked"<!-- ENDIF --> /> <label for="eregi">eregi</label>

        <input type="radio" name="type" id="preg_match" value="preg_match" onfocus="voorbeeld(this)" <!-- IF TYPE == "preg_match" -->checked="checked"<!-- ENDIF --> /> <label for="preg_match">preg_match</label>
      </fieldset>
                        <p id="voorbeeld"><b>Eregi voorbeelden</b><br /><i>abc</i> - ablslk<u>abc</u>lsl - <b>Matcht</b><br /><i>abc</i> - cba - <b>Matcht niet</b></p>

   <fieldset>
      <div class="input">
         <label for="regex"><strong>regex:</strong></label>
         <input value="{REGEX}" type="text" name="regex" class="inputbox" id="regex" size="35" maxlength="255" style="width: 250px;" />
      </div>
      <div class="input" style="margin-top:2px;">
         <label for="string"><strong>string:</strong></label>
         <textarea name="string" cols="25" rows="5" id="string" class="inputbox" style="width: 250px;">{STRING}</textarea>

      </div>
      <div class="input">
         <input type="checkbox" name="uitkomst" id="uitkomst" value="yes" /> <label for="uitkomst"><strong>Weergeef uitkomst</strong></label>
      </div>
   </fieldset>
   <fieldset>
      <input type="submit" name="submit" value="Testen" class="button1" />
   </fieldset>
</form>

<p>Powered by: <a href="http://webmasterplein.net/memberlist.php?mode=viewprofile&u=100267">libia</a> & <a href="http://webmasterplein.net">Webmasterplein</a></p>

<!-- ENDIF -->


als er nog iets ontbreekt of ik iets fout heb gedaan met het phpbb systeem oid dan pas ik het natuurlijk wel aan :P
Avatar gebruiker
libia
wmpr
 
Berichten: 4149
Geregistreerd: 23 okt 2005 14:14
Woonplaats: Alphe!!

Vorige

Keer terug naar Feedback



cron