Yii Framework Forum: Such regulären Ausdruck für urlManager-Regeln - Yii Framework Forum

Jump to content

Page 1 of 1
  • You cannot start a new topic
  • You cannot reply to this topic

Such regulären Ausdruck für urlManager-Regeln Rate Topic: -----

#1 User is offline   g3ck0 

  • Junior Member
  • Pip
  • Yii
  • Group: Members
  • Posts: 96
  • Joined: 03-June 09

Posted 17 September 2009 - 04:58 PM

hallo zusammen,

und zwar suche ich einen regulären ausdruck, welcher mir bei der folgenden url-"weiterleitung" hilft:

'urlManager'=>array(
            'urlFormat'=>'path',
            'showScriptName' => false,
            'rules'=>array(
            	'seite/<titel:[A-Za-z0-9._:,;<>|\'#~]*>' => 'seite/list',
            ),
        ),


und zwar habe ich vor, dass ich zb. die folgende url im browser habe: http://localhost/pro...ite/Testbeitrag
erreichbar soll die seite über http://localhost/project/ sein. nun brauche aber ich eine entsprechende regel, die mir einen string in den $_GET-parameter rein parst. für integer-werte geht das ja irgendwie über \d+. nur wie mache ich das allgemein für strings?

hierzu noch kurz etwas: der user kann so ziemlich alle zeichen eingeben, die er will. darauf wende ich ein htmlentities an und speichere beide werte separat in die datenbank. der encodete string wird dann für den websiten-aufruf in der url verwendet. somit schließt das die möglichen zeichen noch etwas ein. ich hoffe ihr könnt mir hierbei helfen!

danke schon mal.
0

#2 User is offline   Y!! 

  • Advanced Member
  • Yii
  • Group: Yii Dev Team
  • Posts: 978
  • Joined: 18-June 09

Posted 17 September 2009 - 08:46 PM

Also $_GET['titel'] sollte ja bereits funktionieren. Weitere Parameter kannst du einfach an die Rule anhängen:

'seite/<titel:[A-Za-z0-9._:,;<>|\'#~]*>' => 'seite/list/test/1'


$_GET['test'] ist nun 1. Hoffe das ist was du gesucht hast. ???

\d+ ist btw. ein regulärer Ausdruck der eine Zahl verlangt. In deinem Fall, wo ja alle Zeichen erlaubt sind, kannst du auch einfach ein <titel:.*> oder noch besser <titel:.+> machen. (.* = 0 oder mehr beliebige Zeichen, .+ = 1 oder mehr beliebige Zeichen)
0

#3 User is offline   g3ck0 

  • Junior Member
  • Pip
  • Yii
  • Group: Members
  • Posts: 96
  • Joined: 03-June 09

Posted 18 September 2009 - 04:59 AM

dein letzter satz ist genau das was ich gesucht habe ;) echt klasse! danke dir! bin nämlich (noch) nicht wirklich fit im bezug auf reguläre ausdrücke *schäm*
0

Share this topic:


Page 1 of 1
  • You cannot start a new topic
  • You cannot reply to this topic

1 User(s) are reading this topic
0 members, 1 guests, 0 anonymous users