Avaleht
uus teema   vasta Tarkvara »  Programmeerimine »  php: regulaaravaldis märgi kõik teemad loetuks
märgi mitteloetuks
vaata eelmist teemat :: vaata järgmist teemat
mine lehele eelmine  1, 2
Hinnavaatlus :: Foorum :: Uudised :: Ärifoorumid :: HV F1 ennustusvõistlus :: Pangalink :: Telekavad :: HV toote otsing
autor
sõnum Saada viide sõbrale.  :: Teata moderaatorile teata moderaatorile
otsing:  
keevitaja
AM 10 aastat
keevitaja

liitunud: 05.11.2001




sõnum 31.10.2009 14:18:15 vasta tsitaadiga

see asi siis peaks automaatselt faili path ja urli deectima... confi fail asub ühes kataloogis.. vaja eelmist kataloogi siis. kontrollitud windows xp masinas (xampp) ja zone tasulises. PHP 5.3

see if on just zone jaoks. seal ei pannud url_pathile slashi ette. kas seda saaks kuidagi targemini kah teha?

$file_path = dirname(__DIR__);
define('FILE_PATH', $file_path);

$tmp_file_path = str_replace('\\', '/', $file_path);
$tmp_url_path = $_SERVER['DOCUMENT_ROOT'];
$url_path = str_replace($tmp_url_path, '', $tmp_file_path);
 
if(!preg_match('!^/!', $url_path)) {
  $url_path = '/' . $url_path;
}

define('URL_PATH', $url_path);

_________________
Hinnavaatlus ei ole koht arvamuse avaldamiseks!
Kommentaarid: 51 loe/lisa Kasutajad arvavad:  :: 1 :: 3 :: 40
tagasi üles
vaata kasutaja infot saada privaatsõnum mine selle kasutaja kodulehele
laurik
HV vaatleja

liitunud: 30.01.2003




sõnum 31.10.2009 15:22:43 vasta tsitaadiga

Seda võib kontrollida mitmel viisil, nt
if(substr($dir,0,1)!='/')

või

if($dir[0]!='/')

_________________
http://web.zone.ee/internetu/
Kommentaarid: 3 loe/lisa Kasutajad arvavad:  :: 0 :: 0 :: 3
tagasi üles
vaata kasutaja infot saada privaatsõnum mine selle kasutaja kodulehele
Le Inc
HV Guru
Le Inc

liitunud: 06.09.2002



Autoriseeritud ID-kaardiga

sõnum 04.11.2009 10:39:04 vasta tsitaadiga

Üsna põhjalik manuaal: http://www.phpro.org/tutorials/Introduction-to-PHP-Regex.html
Kommentaarid: 56 loe/lisa Kasutajad arvavad:  :: 0 :: 0 :: 54
tagasi üles
vaata kasutaja infot saada privaatsõnum
gynterk
HV kasutaja

liitunud: 17.01.2004




sõnum 11.11.2009 02:26:51 vasta tsitaadiga

To: keevitaja@31.10.2009 13:18

Defineeri, mis on sinu jaoks faili path ja url path? Minu arust on esimene täispikk tee konkreetse failine (ka failinimi) ja teine täispikk WWW url konkreetse failini (ka failinimi).

Ehk:
php:
  1. <?php
  2. # Meetod faili tegeliku asukoha, faili tegeliku asukoha kataloogi, URLi ja www asukoha (ei oska seda paremini nimetada) leidmiseks.
  3. # Tagastab massiivi. Kui tagastab masiivi [ false, false, false, false ], siis antud faili nt ei eksisteeri.
  4. function realPathUrl( $f )
  5. {
  6.   $rp = str_replace( "\\", "/", realpath( $_SERVER[ "DOCUMENT_ROOT" ]."/".$f ) );
  7.   # Kui path on v2ljaspool docrooti, siis on url false.
  8.   if( !preg_match( sprintf( "/^%s(.*)/", str_replace( array( "\\", "/", "\\\\/" ), "\/", $_SERVER[ "DOCUMENT_ROOT" ] ) ), $rp, $m ) )
  9.     return array( $rp, dirname( $rp ), false, false );
  10.   else
  11.     return array( $rp, dirname( $rp ), ( ( $_SERVER[ "HTTPS" ] == "on" ? "https://" : "http://" ).$_SERVER[ "HTTP_HOST" ].$m[ 1 ] ), $m[ 1 ] );
  12. }
  13.  
  14. list( $path, $dir, $url, $wwwpath ) = realPathUrl( "test.php" );
  15.  
  16. echo "<pre>";
  17. var_dump( $path );
  18. var_dump( $dir );
  19. var_dump( $url );
  20. var_dump( $wwwpath );
  21. echo "</pre>";
  22. ?>
Kommentaarid: 5 loe/lisa Kasutajad arvavad:  :: 0 :: 0 :: 5
tagasi üles
vaata kasutaja infot saada privaatsõnum
keevitaja
AM 10 aastat
keevitaja

liitunud: 05.11.2001




sõnum 30.05.2010 00:22:32 vasta tsitaadiga

no see asi on võimatu...

tere\ma\vajalik

oleks vaja see vajalik kätte saada. ehk siis viimane sõna! ees võib rohkem või vähem kui kaks kah olla! ei pruugi üldse midagi olla!

_________________
Hinnavaatlus ei ole koht arvamuse avaldamiseks!
Kommentaarid: 51 loe/lisa Kasutajad arvavad:  :: 1 :: 3 :: 40
tagasi üles
vaata kasutaja infot saada privaatsõnum mine selle kasutaja kodulehele
inzinz
HV kasutaja

liitunud: 26.01.2005




sõnum 30.05.2010 01:37:45 vasta tsitaadiga

Kas kindlalt regexp vajalik ? Niisama substr($str, strrpos($str, '\\')) ei kõlba ?
Muidu preg_match('/^((.*\\)*)(.*)$/', 'tere\midagi\kusagil', $results) annab $results massiivis indeksisse 3 selle mida sa siis otsid.

Aga koodi loetavuse ja lihtsuse mõttes soovitaks ikkagi strrpos lähenemist kasutada, tagantpoolt viimast \ märki otsida on kiirem kui läbi regexp mootori tükeldada.

_________________
Upload.ee - eestimaine failiupload
Kommentaarid: 4 loe/lisa Kasutajad arvavad:  :: 0 :: 0 :: 4
tagasi üles
vaata kasutaja infot saada privaatsõnum
keevitaja
AM 10 aastat
keevitaja

liitunud: 05.11.2001




sõnum 30.05.2010 12:19:50 vasta tsitaadiga

see substr jättis viimase \ paika...
abiks hoopis end(explode('\\', $class_name));

_________________
Hinnavaatlus ei ole koht arvamuse avaldamiseks!
Kommentaarid: 51 loe/lisa Kasutajad arvavad:  :: 1 :: 3 :: 40
tagasi üles
vaata kasutaja infot saada privaatsõnum mine selle kasutaja kodulehele
inzinz
HV kasutaja

liitunud: 26.01.2005




sõnum 30.05.2010 14:10:04 vasta tsitaadiga

Mhmh, see substr jättis paika jah, parem variant oleks olnud function last($str) { $pos = strrpos($str, '\\'); if($pos === false) return $str; return substr($str, $pos); }
Või siis trim(substr($str, strrpos($str, '\\')), '\\') oleks ka sellest üleliigsest \'st lahti saanud.

Kui string on hästi pikk vms siis explode kasutamine tekitab liigset mälu kulu, kuna see tükeldab kogu stringi massiivi valmis ning hetkel kasutad sealt alati ainult viimast elementi.
Aga kui kindlalt ainult lühikeste stringidega tegu siis väga vahet pole, explode kasutamine koodi kirjutamise poolest kiirem/lühem.

_________________
Upload.ee - eestimaine failiupload
Kommentaarid: 4 loe/lisa Kasutajad arvavad:  :: 0 :: 0 :: 4
tagasi üles
vaata kasutaja infot saada privaatsõnum
matis
HV kasutaja
matis

liitunud: 12.04.2004




sõnum 30.05.2010 14:42:43 vasta tsitaadiga

<?php

$str = 'Length 3000 mm 5 pcs';

//leia kõik numbrid ning pane nad $results['number'] muutujasse
$regex = '/(?<number>[0-9]+)/';
$results = array();
preg_match_all($regex, $str, $results);

//siin esimene tulemus on 3000 ja teine tulemus on 5
print_r($results['number']);


?>


Peaks olema suhteliselt lihtne ning kasutada saab online utiliiti näiteks siin:
http://gskinner.com/RegExr/

_________________
https://www.e-abi.ee/ - Pangalingid, Smartposti, Post24 moodulid, Järelmaksumoodulid. Magento, Prestahop, Wordpress. Aktsepteerin Bitcoini!
Soovid lisada oma tooteid HinnaVaatlusesse? https://www.e-abi.ee/magento/kasulikud/product-exporter-and-multi-product-feed-generator-hinnavaatlus.html
Kommentaarid: 64 loe/lisa Kasutajad arvavad:  :: 1 :: 1 :: 60
tagasi üles
vaata kasutaja infot saada privaatsõnum
keevitaja
AM 10 aastat
keevitaja

liitunud: 05.11.2001




sõnum 28.10.2011 18:45:05 vasta tsitaadiga

ma jälle vajaks abi, ehk keegi viitsib mulle visata mõne rea. oleks vaja email lahti lüüa: kasutaja, domeen ja ainult tipp domeen. ehk siis mina@mail.ee peaks andma vastuseks

mina
mail.ee
ee

ja kui aadress on mina@mingi.mail.ee , siis tuleks
mina
mingi.mail.ee
ee
Kommentaarid: 51 loe/lisa Kasutajad arvavad:  :: 1 :: 3 :: 40
tagasi üles
vaata kasutaja infot saada privaatsõnum mine selle kasutaja kodulehele
Timukas0
HV kasutaja
Timukas0

liitunud: 20.03.2007




sõnum 29.10.2011 02:21:05 vasta tsitaadiga

php:
  1. preg_match('/(.*)@(.*\.(.*))/', $addr, $matches);
  2. print_r($matches);
Kommentaarid: 3 loe/lisa Kasutajad arvavad:  :: 0 :: 0 :: 3
tagasi üles
vaata kasutaja infot saada privaatsõnum
andrusny
Kreisi kasutaja
andrusny

liitunud: 20.03.2006




sõnum 04.03.2012 20:26:35 vasta tsitaadiga

Mis saab siis, kui on vaja leida suvalised märgid ja nende vahel mitmes kohas tühikud
Näide:
id="object (CJ_SWEETIE_TRAY_1) (1)" doublesided="false" model="2362" interior="0" dimension="0"

vaja kätte saada jutumärkide sisene osa
hetkel kasutan

preg_match_all('/["](\S* *)["]/', $out[0][0],$out2);


kuid see loeb ainult siis kui on kas täielikult ilma tühikuteta või tühikud on lõpus

_________________
Kommentaarid: 7 loe/lisa Kasutajad arvavad:  :: 0 :: 0 :: 7
tagasi üles
vaata kasutaja infot saada privaatsõnum mine selle kasutaja kodulehele
Fukiku
Kreisi kasutaja
Fukiku

liitunud: 06.11.2003




sõnum 04.03.2012 23:51:52 vasta tsitaadiga

Lõhnab XML-i parse'mise järgi sul see asi - äkki oleks mõistlikum mingit XML-i teeki selleks kasutada?
_________________
Foxic is just a simple fox
Enne kui sa küsid oma küsimuse - küsi seda vannipardilt! Rangelt soovitatav enne programmeerimise alafoorumisse uue teema tegemist.
Kommentaarid: 2 loe/lisa Kasutajad arvavad:  :: 0 :: 0 :: 2
tagasi üles
vaata kasutaja infot saada privaatsõnum
andrusny
Kreisi kasutaja
andrusny

liitunud: 20.03.2006




sõnum 05.03.2012 01:06:48 vasta tsitaadiga

Uurin, ei tulnud esmalt selle pealegi.

Edit: Tänud, asi osutus palju lihtsamaks kui arvasin.

_________________
Kommentaarid: 7 loe/lisa Kasutajad arvavad:  :: 0 :: 0 :: 7
tagasi üles
vaata kasutaja infot saada privaatsõnum mine selle kasutaja kodulehele
näita postitusi alates eelmisest:   
uus teema   vasta Tarkvara »  Programmeerimine »  php: regulaaravaldis mine lehele eelmine  1, 2
[vaata eelmist teemat] [vaata järgmist teemat]
 lisa lemmikuks
näita foorumit:  
 ignoreeri teemat 
sa ei või postitada uusi teemasid siia foorumisse
sa ei või vastata selle foorumi teemadele
sa ei või muuta oma postitusi selles foorumis
sa ei või kustutada oma postitusi selles foorumis
sa ei või vastata küsitlustele selles foorumis
sa ei saa lisada manuseid selles foorumis
sa võid manuseid alla laadida selles foorumis



Hinnavaatlus ei vastuta foorumis tehtud postituste eest.