Hoi,
vorige week heb ik de PHP-versie van mijn webserver geüpdatet naar PHP5.3.
Natuurlijk is dat niet zonder gevolgen, heel wat functies zijn gewijzigd, zo ook deze:
Deprecated: Function eregi() is deprecated
De eregi()-module moet in PHP5.3 worden vervangen door preg_match().
Iemand een idee hoe ik deze regel correct wijzig naar deze functie?
Alvast bedankt!Code:if (eregi("([0-9]{1,2}):([0-9]{2})[ ]?([a|p]m)",$value,$parse_start_time)) {
Stijn
- Deprecated: Function eregi() is deprecated
-
30-01-2013, 18:03 #1
- Berichten
- 796
- Lid sinds
- 16 Jaar
Deprecated: Function eregi() is deprecated
-
-
30-01-2013, 18:06 #2
- Berichten
- 37
- Lid sinds
- 12 Jaar
Re: Deprecated: Function eregi() is deprecated
Googelen dat mensen dat nog moeten leren.
-
30-01-2013, 18:08 #3
- Berichten
- 750
- Lid sinds
- 15 Jaar
Re: Deprecated: Function eregi() is deprecated
Zie http://php.net/manual/en/function.eregi.php
eregi() is deprecated as of PHP 5.3.0. preg_match() with the i (PCRE_CASELESS) modifier is the suggested alternative.
Houd er ook rekening mee dat de default charset van 5.3 standaard UTF-8 gebruikt dus je kan in problemen komen wanneer je functies gebruikt zoals html_entity_decode htmlspecialchars
-
30-01-2013, 18:08 #4
- Berichten
- 796
- Lid sinds
- 16 Jaar
Re: Deprecated: Function eregi() is deprecated
Google heeft me ook geen resultaat gegeven dat ik wens.
Aangezien het dubbel punt een speciaal karakter is ertussen kan dit niet zomaar worden vervangen door preg_match().
@Bram: Ik dacht dat dit forum was om vragen te stellen?
-
30-01-2013, 18:10 #5
- Berichten
- 750
- Lid sinds
- 15 Jaar
Re: Deprecated: Function eregi() is deprecated
dubbele punt prefixen met een \ dus \:
-
30-01-2013, 18:13 #6
- Berichten
- 37
- Lid sinds
- 12 Jaar
Re: Deprecated: Function eregi() is deprecated
Als je googelt "Deprecated: Function eregi() is deprecated" en dan klik je op het eerste resultaat vind je meteen je antwoord.
-
30-01-2013, 18:15 #7
- Berichten
- 750
- Lid sinds
- 15 Jaar
-
30-01-2013, 18:16 #8
- Berichten
- 37
- Lid sinds
- 12 Jaar
Re: Deprecated: Function eregi() is deprecated
Ik heb het heus wel gelezen maar wat je zou moeten weten is altijd eerst de foutmelding googelen en dan kom je er zo achter. Ik vind dit topic gewoon zinloos en als jij daar problemen mee hebt is dat jouw probleem.
-
30-01-2013, 18:19 #9
- Berichten
- 796
- Lid sinds
- 16 Jaar
Re: Deprecated: Function eregi() is deprecated
Deze geeft dan volgende melding:
Warning: preg_match() [function.preg-match]: Unknown modifier '\' in
Ik zoek wel even verder op deze fout.
Alvast bedankt! :-)
-
30-01-2013, 18:21 #10
- Berichten
- 750
- Lid sinds
- 15 Jaar
Re: Deprecated: Function eregi() is deprecated
Deze geeft dan volgende melding:
Warning: preg_match() [function.preg-match]: Unknown modifier '\' in
Ik zoek wel even verder op deze fout.
Alvast bedankt! :-)
Waar moet de regex trouwens voor matchen? De : ? doet me een beetje denken als een if else constructie
-
30-01-2013, 18:37 #11
- Berichten
- 796
- Lid sinds
- 16 Jaar
Re: Deprecated: Function eregi() is deprecated
Het dient om een evenement in een calendar visueel te plaatsen op datum en uur. Beetje moeilijk uit te leggen :-)
Zoals je ziet is het een regex voor het uur en am of pm.
Het is een bestaand script dat ik nu probeer aan te passen voor PHP5.3.
Ik zoek het nog wel even verder uit.
Alvast bedankt voor de tips!
-
30-01-2013, 19:03 #12
- Berichten
- 3.233
- Lid sinds
- 17 Jaar
Re: Deprecated: Function eregi() is deprecated
had zelfde probleem met brakke scripting
nu deze erin gegooit:
if(empty($_POST['email']) || !preg_match('/\.([^\.]*$)/i',$_POST['email']) || !preg_match('/\.([^\.]*$)/i',$_POST['email'])){
en werkt perfect
-
30-01-2013, 19:10 #13
- Berichten
- 750
- Lid sinds
- 15 Jaar
Re: Deprecated: Function eregi() is deprecated
Duidelijk volgens mij werkt dit zo hoe je het wilt hebben
PHP Code:<?php
echo '<pre>';
$subjects = array(
'10:40am',
'10:40AM',
'10:40 am',
'10:40 AM',
'10:40pm',
'10:40PM',
'10:40 pm',
'10:40 PM',
'10:40 AM',
'10:30'
);
$pattern = '`(([0-2]{2})\:([0-9]{2})[\ ]*(am|pm))`i';
$matches = array();
foreach($subjects as $subject) {
if( preg_match($pattern, $subject, $matches) === 1) {
var_dump( $subject . ' match' );
} else {
var_dump( $subject . ' not match' );
}
}
?>
string(13) "10:40am match" string(13) "10:40AM match" string(14) "10:40 am match" string(14) "10:40 AM match" string(13) "10:40pm match" string(13) "10:40PM match" string(14) "10:40 pm match" string(14) "10:40 PM match" string(15) "10:40 AM match" string(15) "10:30 not match"
-
30-01-2013, 19:19 #14
- Berichten
- 796
- Lid sinds
- 16 Jaar
Re: Deprecated: Function eregi() is deprecated
Duidelijk volgens mij werkt dit zo hoe je het wilt hebben
PHP Code:<?php
echo '<pre>';
$subjects = array(
'10:40am',
'10:40AM',
'10:40 am',
'10:40 AM',
'10:40pm',
'10:40PM',
'10:40 pm',
'10:40 PM',
'10:40 AM',
'10:30'
);
$pattern = '`(([0-2]{2})\:([0-9]{2})[\ ]*(am|pm))`i';
$matches = array();
foreach($subjects as $subject) {
if( preg_match($pattern, $subject, $matches) === 1) {
var_dump( $subject . ' match' );
} else {
var_dump( $subject . ' not match' );
}
}
?>
string(13) "10:40am match" string(13) "10:40AM match" string(14) "10:40 am match" string(14) "10:40 AM match" string(13) "10:40pm match" string(13) "10:40PM match" string(14) "10:40 pm match" string(14) "10:40 PM match" string(15) "10:40 AM match" string(15) "10:30 not match"
-
30-01-2013, 19:40 #15
- Berichten
- 750
- Lid sinds
- 15 Jaar
Re: Deprecated: Function eregi() is deprecated
Geen probleem
Plaats een
- + Advertentie
- + Onderwerp
Marktplaats
Webmasterforum
- Websites algemeen
- Sitechecks
- Marketing
- Domeinen algemeen
- Waardebepaling
- CMS
- Wordpress
- Joomla
- Magento
- Google algemeen
- SEO
- Analytics
- Adsense
- Adwords
- HTML / XHTML
- CSS
- Programmeren
- PHP
- Javascript
- JQuery
- MySQL
- Ondernemen algemeen
- Belastingen
- Juridisch
- Grafisch ontwerp
- Hosting Algemeen
- Hardware Info
- Offtopic