问题列表 - 第11152页

帮助在PHP中使用正则表达式替换

我在静态html文件中有一堆网址需要更改.

他们现在看起来像这样:

<img src="/foldera/folderb/folderc/images/imgxyz.jpg" />

他们需要看起来像这样:

<img src="imgxyz.jpg" />

所以,我刚写了一个php脚本,打开每个脚本并执行preg_replace().

我的正则表达式(使用双重反斜杠,是):


$regex = '/<img src="\\/foldera\\/folderb\\/folderc\\/images\\/([^"]*)" \\/>/'

$replacement = '<img src="$0" />' ;
Run Code Online (Sandbox Code Playgroud)

因此,我只会在/ images之前捕获任何内容,直到结束报价.

但我得到的是:

<img src="<img src="/foldera/folderb/folderc/images/imgxyz.jpg" />" />

似乎捕获组过于热心......或者某些东西与/ foldera/folderb部分不匹配.

这里发生了什么?

php regex

0
推荐指数
1
解决办法
285
查看次数

访问Joomla外部的会话数据

我试图在Joomla之外运行一个应用程序(不是作为插件),我想访问登录用户的信息(userid).我想知道我该怎么做呢?有没有我可以包含的文件?我尝试使用$ _SESSION,但它显示为空.

我的问题有一个简单的解决方案吗?感谢您的时间.

php joomla

13
推荐指数
2
解决办法
2万
查看次数

映射分支切片路径

我正在做一个游戏(并且已经对它提出了几个问题),现在我还有一个问题要问你们.

这个游戏中的关卡格式被设置为Uint16的平铺图(我正在使用SDL),这是tilemapData结构数组的索引.tilemapData结构的一个位是isConductive位/布尔值.

这个位的使用基本上是创建将各种对象连接成一个"powerNet"的路径.我在下面有一些关于当前方法的代码(可行,但我会介绍为什么我真的讨厌它)

void findSetPoweredObjects(unsigned long x, unsigned long y, powerNetInfo * powerNet) {
  //Look for poweredObjs on this tile and set their powerNet to the given powernet
  for (int i = 0; i < level->numChunks[CHUNKTYPE_POWEREDDEF]; i++)
    if (level->poweredObjects[i]->position[0] == x && level->poweredObjects[i]->position[1] == y)
      level->poweredObjects[i]->powerNet = powerNet, powerNet->objectsInNet++;
}

void recursiveCheckTile(bool * isWalked, powerNetInfo * powerNet, unsigned long x, unsigned long y, tilemapData * levelMap) {
  //If out of bounds, return
  if (x < 0 || y < 0 …
Run Code Online (Sandbox Code Playgroud)

c++ algorithm pathing tile-engine

2
推荐指数
1
解决办法
527
查看次数

如何忽略struct声明并仅考虑cscope中的定义?

我总是使用vim + cscope检查符号定义,我发现cscope总是采用如下声明:

struct sk_buff;
Run Code Online (Sandbox Code Playgroud)

作为一个定义,它使vim始终显示一个长列表文件来选择.的确,我只想要这个定义:

struct sk_buff {
  ...
};
Run Code Online (Sandbox Code Playgroud)

似乎ctags可以解决这个问题,但cscope可以解决这个问题吗?或者有些事我错了.

我检查了cscope源代码,我发现很难从头开始修改lex和yacc源代码.

vim cscope

6
推荐指数
1
解决办法
2005
查看次数

如何绑定Text Box的SelectionStart属性?

我用这个:

<TextBox x:Name="Test"/>
<TextBlock Text="{Binding SelectionStart, ElementName=Test}"/>
Run Code Online (Sandbox Code Playgroud)

但它总是显示0.
我该如何对待它?
谢谢.

silverlight binding textbox selection

7
推荐指数
2
解决办法
4970
查看次数

在Java中,什么是浅拷贝?

java.util.Calendar.clone()返回"...具有相同属性的新日历"并返回"此日历的浅表副本".

为回答这并不似乎是一个浅拷贝这里的SO.这个问题被标记为与语言无关, Java似乎不遵循语言无关的定义.当我单步执行代码时,我注意到结构和元素被复制到这个新对象,而不仅仅是语言无关的结构.

在Java中,什么是浅拷贝?

它与Java深层副本(如果存在)有何不同?

java clone shallow-copy

51
推荐指数
3
解决办法
8万
查看次数

我可以在不查看每个元素的情况下将std :: vector <Animal*>转换为std :: vector <Dog*>吗?

我有一个基类,有几个类扩展它.我有一些通用的库实用程序,它们创建一个包含指向基类的指针的向量,以便任何子类都可以工作.如何将向量的所有元素强制转换为特定的子类?

// A method is called that assumes that a vector containing
// Dogs casted to Animal is passed.
void myDogCallback(vector<Animal*> &animals) {
    // I want to cast all of the elements of animals to
    // be dogs.
    vector<Dog*> dogs = castAsDogs(animals);
}
Run Code Online (Sandbox Code Playgroud)

我天真的解决方案看起来像这样:

// A method is called that assumes that a vector containing
// Dogs casted to Animal is passed.
void myDogCallback(vector<Animal*> &animals) {
    // I want to cast all of the elements of animals to
    // be …
Run Code Online (Sandbox Code Playgroud)

c++ templates casting vector

8
推荐指数
2
解决办法
1万
查看次数

在LINQ中找到List中的项目?

这里我有一个简单的例子来查找字符串列表中的项目.通常我使用for循环或匿名委托来这样做:

int GetItemIndex(string search)
{
   int found = -1;
   if ( _list != null )
   {
     foreach (string item in _list) // _list is an instance of List<string>
     { 
        found++;
        if ( string.Equals(search, item) )
        {
           break;
        }
      }
      /* use anonymous delegate
      string foundItem = _list.Find( delegate(string item) {
         found++;
         return string.Equals(search, item);
      });
      */
   }
   return found;
}
Run Code Online (Sandbox Code Playgroud)

LINQ对我来说是新的.我很好奇我是否可以使用LINQ来查找列表中的项目?怎么可能?

c# linq

213
推荐指数
6
解决办法
68万
查看次数

C++ - 我什么时候应该在类中使用指针成员

在学习C++(和Direct3D,但前一段时间)时,让我感到困惑的一件事就是你应该在类中使用指针成员.例如,我可以使用非指针声明:

private:
    SomeClass instance_;
Run Code Online (Sandbox Code Playgroud)

或者我可以使用指针声明

private:
   Someclass * instance_
Run Code Online (Sandbox Code Playgroud)

然后在构造函数中使用new().

我明白,如果SomeClass可以从另一个类派生,COM对象或是ABC,那么它应该是一个指针.我还应该注意其他任何指导方针吗?

c++ pointers

21
推荐指数
3
解决办法
2万
查看次数

命名包装类的经验法则

我发现自己创建了大量的包装类,纯粹是因为我想模仿它的行为

  • 不适合RhinoMocks隔离模型的类(例如,DirectoryInfo或者WindowsIdentity)
  • 本机Win API方法(我通常将我需要的所有方法收集到一个类中,并将本机调用包装为类方法)

然后我发现自己附加了一个用'W'包装的类(表示它是一个包装器),所以我最终得到DirectoryInfoW(相反,DirectoryInfoWrapper它似乎相当冗长).同样,我最终使用被称为包装的本机方法NativeMethods.DuplicateTokenW.

在命名包装类时,遵循什么是一个很好的经验法则?

naming-conventions wrapper

16
推荐指数
1
解决办法
1万
查看次数